http://www.perlmonks.org?node_id=128827


in reply to Re: "Countdown" (golf)
in thread "Countdown" (golf)

gbarr
I thought you were the first one to answer the call on all aspects, however, you have a flaw. It only returns the first instance of the longest word. If I change the letters to "d u n s c a e y z" it will only print out "ascend" It will not print out all the longest words.
sub f { # 1 2 3 4 5 #234567890123456789012345678901234567890123456789012345 my%h;$h{$_}++for@_;my@b;push @{$b[length]},$_ for grep{ # 6 7 8 9 0 1 #789012345678901234567890123456789012345678901234567890123 my%g=%h;$g{$_}--for/./gi;!grep{$_<0}values%g}<D>;@{$b[-1]} }
I added on stroke to make it case insensitive, but I'm not sure how to make it print out all possible answers rather then just the first one.

Stuffy
That's my story, and I'm sticking to it, unless I'm wrong in which case I will probably change it ;~)
may be reproduced under the SDL