Could try something like: #!perl -w my @MyData = (); # # Loading some data # push(@MyData , sprintf "%-s\t%-s\t%-s\t%-s\t%-s\t", 'a', 'b','c', 'd','e'); push(@MyData , sprintf "%-s\t%-s\t%-s\t%-s\t%-s\t", 'b', 'd','d', 'e','f'); push(@MyData , sprintf "%-s\t%-s\t%-s\t%-s\t%-s\t", 'c', 'e','e', 'f','g');
printf "before Sorted Data:\n"; foreach (@MyData ) { printf "%-s\n", $_; } printf "Sorted Data by 3rd field- descending\n"; foreach my $MyKey (sort {$b->[1] cmp $a->[1]} map { [$_, (split(/\t/, $_))[2] ]} @MyData ) { printf "%-s\n", $MyKey->[0]; } ^--------- Script ends here Output: before Sorted Data: a b c d e b d d e f c e e f g Sorted Data by 3rd field- descending c e e f g b d d e f a b c d e One way. Wags ;) -----Original Message----- From: Bryan R Harris [mailto:[EMAIL PROTECTED]] Sent: Thursday, April 04, 2002 07:49 To: [EMAIL PROTECTED] Subject: sort by field I'm very much a beginner, I guess, the perldoc page on sort doesn't make much sense to me. I've got a tab-delimited file read into an array, now I want to sort it on the contents of column 3. Could someone point me in the right direction? TIA. - Bryan -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]