use strict; use warnings; use XML::Simple; my $str = < server1 /etc/named.conf /etc/nsswitch.conf server2 /etc/named.conf /etc/nsswitch.conf /etc/hosts XML my $xml = new XML::Simple (KeyAttr=>[]); my $data = $xml->XMLin ($str); foreach my $machine (@{$data->{server}}) { my $name = $machine->{name}; print "$name\n"; print "\t@{$machine->{file}{filename}}\n"; } #### server1 /etc/named.conf /etc/nsswitch.conf server2 /etc/named.conf /etc/nsswitch.conf /etc/hosts