use strict; use XML::Simple qw(XMLin); my $data = XMLin( $xml, ForceArray => [qw(Author)]); #use Data::Dumper; #print Dumper($data); foreach my $author (@{$data->{AuthorList}{Author}}) { print "$author->{ForeName} $author->{LastName}\n"; }