use strict; use XML::Simple qw(XMLin); my $data = XMLin( \*DATA, ForceArray => [qw(Author)]); use Data::Dumper; print Dumper($data); foreach my $author (@{$data->{AuthorList}{Author}}) { print "$author->{ForeName} $author->{LastName}\n"; } __DATA__ van Beilen J B JB Penninga D D Witholt B B