Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

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

In reply to Hashes... Light switch isn't coming on by agentorange

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others wandering the Monastery: (17)
    As of 2015-07-29 16:37 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









      Results (265 votes), past polls