#! /usr/local/bin/perl while(<>) { foreach (split) { $words{lc($_)}++; } # end for } # end while foreach (sort { return $a cmp $b if ($words{$b} == $words{$a}); return $words{$b} <=> $words{$a}; } keys %words) { print "$words{$_}\t$_\n"; }