XP is just a number | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
That's not how it works. Look at this code:
The output does not mean that $hash{letters} is an array. The output means that $hash{letters} is a *reference* to an array. In fact, ref() returns an empty string if its argument is not a reference, e.g. an array. So the very fact that ref returns a non-empty string for $hash{letters} means that $hash{letters} is some kind of reference; and the output "ARRAY" tells you what kind of *reference* it is. So your ref output means that this line:
is equivalent to writing this:
And because the left of the assignment is 'list context', and because the right side is not a list, the right side gets promoted to a one element list, giving you this: my @jsonarray = ($aref);That succeeds in nesting your reference inside the array @jsonarray. To access the whole array referenced by $aref, you would have to write:
So originally when you found out that the right side of this assignment:
produced ARRAY when you called ref() on it, that meant the right side was a reference to an array, and therefore to get the whole array you needed to dereference the right side:
In reply to Re: How to use a json string with nested array and nested hash elements?
by 7stud
|
|