Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^3: Anagrams & Letter Banks

by Discipulus (Canon)
on Oct 27, 2017 at 21:15 UTC ( [id://1202202]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Anagrams & Letter Banks
in thread Anagrams & Letter Banks

hello again dominick_t

An explicit array is @arr = qw(a b x) and an anonymous one is $array_ref = [qw(c d e)]

Use print and/or Data::Dumper or better Data::Dump to se in action:

 my $array_ref = [qw(c d e)]; print Dumper $array_ref;

The doc covering this is perlref

> %chars hash, are you saying that a new hash is made for each word in the list, and that the keys of that hash are the individual characters in the word?

Yes! try it to see; print is your first debugging tool:

use strict; use warnings; my $good = [qw( allo mallo malo)]; my $bad = [qw( tillo sillo sallo)]; foreach my $list ($good, $bad){ print "got list [@{$list}]\n"; my $has_unique; foreach my $word(@$list){ print "analizing word [$word]\n"; my %chars; foreach my $char ($word =~ /./g){ print "\tGot char [$char]\n"; $chars{$char}+= 1; } print "\tchars count is:\n"; print map{"\t$_ = $chars{$_} "}keys %chars; print "\n"; if (scalar keys %chars == length $word){ print "\t$word has no repeated letters (keys of \%chars + are equal to the length of \$word)\n"; $has_unique++; } print "\n"; } print "I print the whole list: ",(join ' ', @$list),"\n\n" if $has +_unique; } # output got list [allo mallo malo] analizing word [allo] Got char [a] Got char [l] Got char [l] Got char [o] chars count is: l = 2 a = 1 o = 1 analizing word [mallo] Got char [m] Got char [a] Got char [l] Got char [l] Got char [o] chars count is: l = 2 a = 1 m = 1 o = 1 analizing word [malo] Got char [m] Got char [a] Got char [l] Got char [o] chars count is: l = 1 a = 1 m = 1 o = 1 malo has no repeated letters (keys of %chars are equal to the +length of $word) I print the whole list: allo mallo malo ...
L*

There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-04-19 06:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found