in reply to Is there a better way for finding anagrams?

Borrowing tachyon's example, and leaving out the rle function definition for brevity, many examples of which can be borrowed and modified from here (This solution is probably better if you were going to look for many letter lists as opposed to just one):
@dict = qw (foo oof fff bar baz); $letters = 'ofo'; my %dict; push @{$dict{rle(sort split '',$_)}}, $_ for @dict; $words = $dict{rle(sort split '',$letters)} || []; print "$_\n" for @$words;
Update: Realized you don't actually need the rle function:
my %dict; push @{$dict{join('', sort split '',$_)}}, $_ for @dict; $words = $dict{join('', sort split '',$letters)} || []; print "$_\n" for @$words;