Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Is there a better way?

by runrig (Abbot)
on Aug 04, 2001 at 03:25 UTC ( [id://102190]=note: print w/replies, xml ) Need Help??


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;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://102190]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (3)
As of 2024-04-26 04:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found