I'm still pretty sure it's the global variable that's messing you up. Consider the odd-but-possible case where %globalHash gets new values occasionally:
my (@array, %hash); do_something($_) for (1 .. 3); sub do_something { my $num = shift; $hash{$num} = $num; push @array, { %hash }; } use Data::Dumper; print Dumper(\%hash); foreach my $href (@array) { my ($key, $value); print "Hash ($href):\n"; foreach $key (keys %$href) { $value = $href->{$key}; print "\t$key => $value\n"; } }
Each time through do_something(), not only does %hash get new data, but the hash reference pushed onto @array gets the old data.

This may or may not be what you want. In fact, I'm really not sure what you want. Instead of asking "How do I fix this bit of code that isn't working?" perhaps you should ask "Here is a textual description of the task I am trying to accomplish. What methods might I use to perform this task?" (XYZ Questions)


In reply to Re: Night of the Day of the Dawn of the Son of the Bride of the Return of the Attack of the Revenge of the Horrors of References and Complex Data Structures by chromatic
in thread Night of the Day of the Dawn of the Son of the Bride of the Return of the Attack of the Revenge of the Horrors of References and Complex Data Structures by DeusVult

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.