It's working fine (Perl v5.10.1):
#!/usr/bin/perl
use strict;
use warnings;
my %frequency;
while(<DATA>) {
my @column = split ' ' or next;
$frequency{$column[2]}++;
}
{
local($\, $,) = ("\n", "\t"); # tab delimited output
foreach (sort { $frequency{$b} <=> $frequency{$a} || $a <=> $b } k
+eys %frequency) {
print $_, $frequency{$_};
}
}
__DATA__
0.000000e+00 105 35324
1.000000e+00 105 35324
2.000000e+00 105 33308
3.000000e+00 105 35324
4.000000e+00 105 33308
5.000000e+00 105 35324
6.000000e+00 105 33227
7.000000e+00 105 33011
8.000000e+00 105 33227
9.000000e+00 105 35606
1.000000e+01 105 33227
1.100000e+01 105 35537
To get input from a file, see [Re^2: Alphanumeric sort].
|