Wow, well thanks a lot, your solution is a lot more eloquent than mine would have been. Surprisingly fast to.
I follow it for the most part but I get tripped up in a couple of places.
If I am not mistaken you are opening the dictionary as output, loads all the words into a hash.
Then gets input...but what exactly are you doing here?
say join '', @($dict{hash($_)}} if $dict{hash($_)};
Thanks for the help.