XP is just a number | |
PerlMonks |
Re: Accessing HASH pushed into @array ('strict refs' in use error)by Athanasius (Archbishop) |
on Jan 08, 2014 at 10:45 UTC ( [id://1069765]=note: print w/replies, xml ) | Need Help?? |
Hello sbrothy, and welcome to the Monastery! To expand on dave_the_m’s answer: Step 4 of the Basic debugging checklist says: “Dump arrays, hashes and arbitrarily complex data structures.” Using the core Data::Dumper module to print out the contents of @array, we see that after the first push the array contains 4 elements, which Data::Dumper names $VAR1 to $VAR4:
That’s because push puts its argument(s) (following the destination array) into list context, and a hash in list context returns a list of the form (key-x, val-x, key-y, val-y, ...). But when a reference to the hash is pushed instead, the result of the first push is:
— which shows that only one element ($VAR1) has been pushed onto the array; and this time its referent retains its identity as a hash. Some useful reading: perlreftut and perldsc. Hope that helps,
In Section
Seekers of Perl Wisdom
|
|