Hello IvanAK,
Note: please put <code>...</code> tags around code fragments that contain square brackets (or use [ for [ and ] for ]). Otherwise, the PerlMonks site thinks you are creating a hyperlink. See Markup in the Monastery.
Here is a subroutine that may be helpful:
sub show_ref { use Data::Dump 'pp'; my $ref = shift; print "Reference to: ", ref($ref), "\n"; print "Contents: ", pp($ref), "\n"; }
With this subroutine, you can easily see what any reference is, and what it contains. For example:
my $commissions = $sales->{tuesday}{jim}; show_ref($commissions);
gives:
14:11 >perl 879_SoPW.pl Reference to: ARRAY Contents: [3, 8] 14:11 >
which shows that $commissions is a reference to an array which contains the elements 3 and 8.
Here tuesday is a hash or reference
No, “tuesday” is a hash key, and therefore it is a string (because in Perl, hash keys can only be strings). A hash contains key-value pairs, and in this case the value paired with the key “tuesday” is a reference to a hash. So show_ref($sales->{tuesday}); gives:
14:11 >perl 879_SoPW.pl Reference to: HASH Contents: { jim => [3, 8], mary => [5, 5] } 14:25 >
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
In reply to Re^2: Hash of Hash
by Athanasius
in thread Hash of Hash
by IvanAK
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |