my %countries; while (){ my $entry = (split /","/, $_)[1]; $countries{$entry}++; } for (reverse sort { $countries{$a} <=> $countries{$b} } keys %countries){ print "$_\t$countries{$_}\n"; }