Howdy mitch, welcome back to the Monastery!

You're almost right. It's several hashes in an array indeed, but $data->{'results'} is itself an array reference, so in your example, @result is a one-element list (i.e. array) containing a single reference to an anonymous array containing several anonymous hashes.

In order to iterate through all these, your best bet is to dereference the outermost array reference, obtaining the array of hashes again, then iterating through its elements (the hashes) and looking at each hash's closed_at key, like this:

... my $result_ref = $data->{'results'}; my @result = @$result_ref; foreach my $hash_ref (@result) { say "closed_at: ", $hash_ref->{'closed_at'}; ... }

Of course, you don't have to save $result_ref and @result unless you need them. The foreach loop could also be written this way:

... foreach my $hash_ref (@{ $data->{'results'} }) { ... }

The result's the same, but the above will perhaps make it a little more clear what's going on.


In reply to Re: hash-array-hash confused by AppleFritter
in thread hash-array-hash confused by mitchreward

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.