mndoci has asked for the wisdom of the Perl Monks concerning the following question:
I am trying to do the following
I have some data which looks like
1,ABC,X,1.203000e+02 1,ABC,Y,7.830000e+00 2,DEF,X,1.212400e+02 2,DEF,Y,8.810000e+00 3,GHI,X,1.180700e+02 3,GHI,Y,8.550000e+00 5,JKL,X,1.193500e+02 5,JKL,Y,7.270000e+00 . . .
Anyway, I want to use the first column in each line as a unique key for a hash, (e.g. 1,2,3,5 .. and so on). I am doing this as follows
while (<NEWDATA>){ # where NEWDATA points to a file with the comma del +imited data $currLine = $_; # current, comma-delimited line chomp $currLine; @formatDataArray = split(/,/,$currLine); #split at comma push (@newArray, $formatDataArray[0]); # push first column into ne +wArray # print OUT "@newArray\n"; } foreach my $item(@newArray){ # get unique array elements $seen{$item}++; } # numerical sort on keys and add to array @uniq = sort {$seen{$a} <=> $seen{$b} } keys %seen; # print to see if things look right foreach my $element(@uniq){ print OUT "$element\n"; }
the results of the print command at the end are still random, i.e. not
1 2 3 5
Any ideas. I am sure I am overlooking something very trivial.
mndoci
"What you do in this world is a matter of no consequence. The question is, what can you make people believe that you have done?"-Sherlock Holmes in 'A study in scarlet'
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Sorting a hash. What am I doing wrong?
by Enlil (Parson) on Jan 14, 2003 at 00:28 UTC | |
by mndoci (Scribe) on Jan 14, 2003 at 00:42 UTC | |
Re: Sorting a hash. What am I doing wrong?
by Arien (Pilgrim) on Jan 14, 2003 at 00:45 UTC | |
by zakb (Pilgrim) on Jan 14, 2003 at 16:19 UTC | |
Re: Sorting a hash. What am I doing wrong?
by waswas-fng (Curate) on Jan 14, 2003 at 01:00 UTC | |
Re: Sorting a hash. What am I doing wrong?
by Anonymous Monk on Jan 14, 2003 at 00:44 UTC |
Back to
Seekers of Perl Wisdom