もうちょっとシンプルにならんかなぁ
#!/usr/bin/perl
use strict;use warnings;
my(%chinko,%manko);$/=undef;
print "$_:$chinko{$_}\n" for sort {$chinko{$b}<=>$chinko{$a} || $a cmp $b} grep !$manko{$_}++ , map {$chinko{$_}++;$_} split /\s+/,lc <STDIN>;