in reply to help to get hash elements
What about Access and Printing of a HASH OF HASHES?
Simply create a 2-level loop and iterate through the keys of each level.
# untested: my @urls; for my $outer ( keys %hash ) { for my $inner ( keys %{ $hash{$outer} } ) { # maybe check before, if entry "url" exists or is defined ... push @urls, $hash{$outer}->{$inner}->{url}; } }
update:
I missed last night that there is an anonymous array inside $hash{$outer}->{$inner}; so here's an updated code:
for my $outer ( keys %hash ) { for my $inner ( keys %{ $hash{$outer} } ) { push @urls, map { $_->{url} } @{ $hash{$outer}->{$inner} } } }
As the other answers point out, if there is only one "outer" and one "inner" key, you can skip the loops and access the inner referenced array directly...
|
---|
In Section
Seekers of Perl Wisdom