...you know, now that I think about it, I have to agree with what twerq and dpuu said originally: We need to see your initialization code.

In this example from DamnDirtyApe, the initial attempt to refer to the data is identical to your original.  $kid[0][0]{name} is the same as:  $AoAoH[0][0]{name}

As long as you always refer to your data in this fashion (using a formally named variable "kid" or "AoAoH" you can treat the data structure as if it were in fact a simple multi-dimensioned construct. It is when you try to iterate through the individual data items that you have to be aware that the array named "kid" is simply an array of references (or pointers to you C programmers).

So if you decided to do something like:

foreach $class (@kids) { # inspect each top level (class) array # here, $class is a reference to an array, so... foreach $student (@$class) { # here, $student is a reference to a hash, so... print "$student->{'name'}\n"; # or you can iterate: foreach $fact (keys %{$student}) { # note that protecting $student with surrounding # curly braces will make keys() a lot happier # I like to pronounce the construct as: # "The hash to which $student refers" # and we may now print: print "$fact: $student->{$fact}\n"; # or if you are in a particularly perverse mood, you may say: print "$fact: $$student{$fact}\n"; # if you DO find yourself in that mood though, consider # adjusting your meds! :-) } } }

...all the world looks like -well- all the world, when your hammer is perl.
---v


In reply to Re: Re: Array of Array of Hashes by agentv
in thread Array of Array of Hashes by Anonymous Monk

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!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • 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, details, 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, summary, 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.