in reply to Re^2: How can I sort this data on the first field
in thread How can I sort this data on the first field
It's not a hash that you want... it's probably an array of arrays. What if there were duplicate keys? your hash will eat them up and you'll end up with only the last entry.
compare:print "With Hash:\n\n"; $save = tell DATA; while(<DATA>) { my ($k, $v) = split '\|'; $hash{$k} = $v; } print "$_|$hash{$_}" for sort { $a <=> $b } keys %hash; seek DATA, $save, 0; print "\n\nWith array:\n\n"; while(<DATA>) { my ($k, $v) = split '\|'; push @arr, [$k, $v]; } print "$_->[0]|$_->[1]" for sort { $a->[0] <=> $b->[0] } @arr; __DATA__ 30|microsoft 70|aol 76|netscape 5|trouble? 35|mozilla 30|die microsoft 40|opera 100|FireFox 5|no more trouble
|
---|