http://qs321.pair.com?node_id=102214

Since people were really starting to take an interest in the anagram problem posed at Is there a better way for finding anagrams?, why not golf it?

The idea is to write a function which given a jumbled word, will find any matching entries in a supplied dictionary, and return an array of these qualifying matches. The word, and dictionary, are only expected to contain alphanumeric characters, although the dictionary may contain some stray material such as the odd bit of punctuation which can probably be ignored.

Here's my first pass that comes in just under three digits at 98 characters:
sub a { sub z{join'',sort/./g}push(@{$d{&z}},$_)for(@{$_[1]});$w=z$_=$_[0];map +{@{$d{$_}}}grep{/$w/i}keys%d } # Test Stub open ($dict, "/usr/dict/words") || die "No words\n"; @dict = grep { chomp; } <$dict>; close ($dict); print a('geniretat',\@dict);