Code below is part of XML structure which i get from XML::Simple
.
I get many classfield
(classfield_101
, classfield_1023
, ... ) and classfield_101
is one of them. For classfield_101
I expect the program to print 'CHECK UNCHECK'
to the console.
my (%ClassDetails) = ();
my %struct = (
'level1' => {
'classfield' => {
'classfield_101' => {
'classfieldvalues' => {
'classfieldvalue' => [
{'content' => 'CHECK', 'key' => '1254789'},
{'content' => 'UNCHECK', 'key' => '1987456'}
]
},
'classfieldname' => 'CHECKCLASS',
'key' => 'CHECKDETAILS'
},
}
},
);
print Dumper(\%struct);
for my $elem (@{$struct{level1}{classfield}{classfield_101}{classfieldvalues}{classfieldvalue}}) {
print "$elem->{content} ";
}
#Output
#CHECK UNCHECK
How to loop over each classfield_id
in %$classfield
and print values ?
foreach $classfield_id (keys %$classfield) {
## for ex: Looping for classfield_id = classfield_101 from %$classfield
if ( $classfield->{$classfield_id}->classfieldname eq "CHECKCLASS" ) {
### Stuck here --- $ClassDetails{checkuncheck} = How to print
}
}