http://qs321.pair.com?node_id=11101400


in reply to Sort alphabetically from file

In case your 4th column contains spaces you can split with a limit. Here I am opening the file contained in a HEREDOC as opposed to using the automatically opened DATA file handle.

johngg@shiraz:~/perl/Monks$ perl -Mstrict -Mwarnings -E ' open my $inFH, q{<}, \ <<__EOF__ or die $!; 1 2 3 delta 1 2 3 apricot 1 2 3 blue cup 1 2 3 charlie 1 2 3 yellow banana 1 2 3 bravo 1 2 3 echo 1 2 3 fox __EOF__ print for map { substr $_, 50 } sort map { pack q{A50A*}, ( split m{\s+}, $_, 4 )[ -1 ], $_ } <$inFH>; close $inFH or die $!;' 1 2 3 apricot 1 2 3 blue cup 1 2 3 bravo 1 2 3 charlie 1 2 3 delta 1 2 3 echo 1 2 3 fox 1 2 3 yellow banana

Just another way out of many.

Cheers,

JohnGG