agentorange has asked for the wisdom of the Perl Monks concerning the following question:
Hi guys hoping you can help
For whatever reason that switch inside my head that turns on the light to say I understand hashes just will not flick on! It's possible that I'm running before I can walk as I've forced my way through understanding and retrieving data from complex hashes, and written good few bits of code in the last few months, but I just cannot get it into my head how to build those hashes unless I explicitly hard code them.
Can you assist with a sample piece of code that may finally enable me to crack it?
#!/bin/perl # use Data::Dumper; my @primary = qw( foo bar ); my @secondary = qw( p0 p1 p2 ); my @tertiary = qw( itema itemb ); my %HoH; foreach $primary( @primary ) { print "\t$primary\n"; foreach $secondary( @secondary ) { print "\t\t$secondary\n"; foreach $tertiary( @tertiary ) { print "\t\t\t$tertiary\n"; %HoH = ( $primary => $secondary => $tertiary); #%HoH = {$primary}{$secondary} => $tertiary); } } } print Dumper \%HoH;
The basic debug output from the print should describe the hash I'm trying to create. That is a key of "primary", containing a key of "secondary" elements with elements of "tertiary".
ie.
foo => p0 => itema itemb p1 => itema itemb p2 => itema itemb bar => p0 => itema itemb p1 => itema itemb p2 => itema itemb
But what I actually get is
$VAR1 = { 'bar' => 'p2', 'itemb' => undef };
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Hashes... Light switch isn't coming on
by LanX (Saint) on Dec 12, 2012 at 16:54 UTC | |
|
Re: Hashes... Light switch isn't coming on
by jethro (Monsignor) on Dec 12, 2012 at 17:35 UTC | |
by muba (Priest) on Dec 12, 2012 at 18:22 UTC | |
by jethro (Monsignor) on Dec 13, 2012 at 12:41 UTC | |
|
Re: Hashes... Light switch isn't coming on
by muba (Priest) on Dec 12, 2012 at 18:11 UTC | |
|
Re: Hashes... Light switch isn't coming on
by blue_cowdawg (Monsignor) on Dec 12, 2012 at 18:10 UTC | |
|
Re: Hashes... Light switch isn't coming on
by agentorange (Sexton) on Dec 13, 2012 at 17:04 UTC |