... ... ... ... ... #### my $persons = $parent->{Persons}; my @persons = !$persons ? () : !$persons->{Person} ? () : !ref($persons->{Person}) ? $persons->{Person} : @{ $persons->{Person} }; #### GroupTags => { Persons => 'Person' }, ForceArray => [qw( Person )], my @persons = $parent->{Persons} ? @{ $parent->{Persons} } : (); #### my @persons = $parent->findnodes('Persons/Person'); #### ... ... ... ... ... #### my $country = !defined($person->{Country}) ? undef : !ref($person->{Country}) ? $person->{Country} : $person->{Country}{content}; #### my $country = $person->{Country} && $person->{Country}{content} #### my $country = $person->findvalue('Country');