my %frequency; while(<>) { my @column = split ' ' or next; $frequency{$column[2]}++; } #### { local($\, $,) = ("\n", "\t"); # tab delimited output foreach (sort { $frequency{$b} <=> $frequency{$a} || $a <=> $b } keys %frequency) { print $_, $frequency{$_}; } } #### 35324 4 33227 3 33308 2 33011 1 35537 1 35606 1