in reply to Re: How can I group lines in a file?
in thread How can I group lines in a file?
Just want to note that you can get the same order if you sort by name length or by first value ;)
use strict; use warnings; my %res; while (<DATA>) { my ( $name, $weight ) = split /\s+/; push @{ $res{$name} }, $weight; } for ( sort { length($a) cmp length($b) } keys %res ) { print "$_ ", join( ",", @{ $res{$_} } ), "\n"; } for ( sort { $res{$a}->[0] <=> $res{$b}->[0] } keys %res ) { print "$_ ", join( ",", @{ $res{$_} } ), "\n"; } __DATA__ jim 14 john 23 ernest 38 matilda 43 jim 34 ernest 27 john 44 matilda 22
|
|---|