deMize has asked for the wisdom of the Perl Monks concerning the following question:
Question: How to find all occurrences of a key in a deeply nested structure?
Demize
Here's what the object might look like in a Data::Dumper output:
$VAR1 = { 'foo' => { 'child1' => { 'gchild1' => { 'values' => { 'bar1' => 1, 'bar2' => 1 } } }, 'child2' => { 'gchild1' => { 'values' => { 'bar1' => 1, 'bar9' => 1 } }, 'gchild2' => { 'values' => { 'bar2' => 1, 'bar3' => 1 } } }, 'child3' => { 'values' => { 'bar1' => 1, 'bar2' => 1, 'bar4' => 1, 'bar5' => 1 } } } };
So the goal is to scan the hash of hashes and return all the references of 'values' most likely as an array of hashrefs. Notice 'values' can be a child of a grandchild, or the grandchild itself (as in child3). There may also be great-great-...-grandchildren. Basically, it could be anywhere in the chain.
Demize
|
---|
Back to
Seekers of Perl Wisdom