server1 /etc/named.conf /etc/nsswitch.conf server2 /etc/named.conf /etc/nsswitch.conf /etc/hosts #### {server}->{file}->{filename}->[0] {server}->{file}->{filename}->[1] #### use XML::Simple; use Data::Dumper; $xml = new XML::Simple (KeyAttr=>[]); $data = $xml->XMLin("xml.xml"); #print Dumper($data); foreach $machine (@{$data->{server}}) { $name=$machine->{name}; print "$name\n"; $file1=$machine->{file}->{filename}->[0]; $file2=$machine->{file}->{filename}->[1]; $file3=$machine->{file}->{filename}->[2]; print "\t$file1 $file2 $file3\t\n"; }