in reply to Iterate over a perl nested hash data structure
In perl, if we want to get the key/value pairs of hash, you can use the following code.
use strict; use warnings; # initializing hash with three four-value pairs, among those two are h +aving inner hashes ( Numerals, Alpha ) which have three key-value pai +rs in-built my %hash = ( 'Numerals' => { '1' => 'One', '2' => 'Two', '3' => 'Three', }, 'Alpha' => { 'A' => 'Apple', 'B' => 'Ball', 'C' => 'Cat' }, 'I' => 'Roman One', 'II' => 'Roman Two' );<br/> # for getting key-value pairs of above hash foreach(keys%$hash) { # by default key stored in $_ as per above foreach statement # checks whether value of hash is another hash if(ref($hash{$_}) eq 'HASH') { # iterate the keys set of inner hash foreach my $inner_key (keys%{$hash{$_}}) { # printing key and value of inner hash print "Key:$inner_key and value:$hash{$_}{$inner_key}\n"; } } else { print "Key: $_ and Value: $hash{$_}\n" } }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Iterate over a perl nested hash data structure
by NewLondonPerl1 (Acolyte) on Feb 20, 2013 at 07:20 UTC | |
by NewLondonPerl1 (Acolyte) on Feb 20, 2013 at 15:36 UTC | |
by NewLondonPerl1 (Acolyte) on Feb 20, 2013 at 15:43 UTC |
In Section
Seekers of Perl Wisdom