Just another Perl shrine | |
PerlMonks |
Re: Is there a better way?by tachyon (Chancellor) |
on Aug 04, 2001 at 00:39 UTC ( [id://102152]=note: print w/replies, xml ) | Need Help?? |
Here is a shorter way using the power of grep. All we do is sort our available letters and compare them to the sorted letters of our dictionary words.
UpdateAs pointed out by dragonchild my first post which used this test in the grep /^[$letters]{$length}$/ instead of the $sorted test would pick up all sorts of incorrect stuff. I realised this just after I posted but it was too late.... ++ for being far more on the ball than me. Update 2For efficiency you could add another test to the grep like this:
The purpose of the $length test is to immediately fail if the length of our dict word is wrong thus avoiding the overhead of a sort as the match is bound to fail. Fixed classic = instead of == newbie Perl error thanks to Falkkin cheers tachyon s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
In Section
Seekers of Perl Wisdom
|
|