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);