# or even shorter, but perhaps a bit unreadable: $wordfreq{$_} for (@phrase); #### $wordfreq{$_}++ for (@phrase); #### s**lil*; $*=join'',sort split q**; s;.*;grr; &&s+(.(.)).+$2$1+; $; = qq-$_-;s,.*,ahc,;$,.=chop for split q,,,reverse;print for($,,$;,$*,$/)