#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
my $twig = XML::Twig->new(
twig_handlers => {
'server' => sub {
print "server: ", $_->first_child('name')->text, "\n";
foreach my $c ($_->children('file')) {
print "filename: ", $_->text, "\n" foreach $c->children('filename');
}
},
},
);
$twig->parse(*DATA);
__DATA__
server1
/etc/named.conf
/etc/nsswitch.conf
server2
/etc/named.conf
/etc/nsswitch.conf
/etc/hosts
####
server: server1
filename: /etc/named.conf
filename: /etc/nsswitch.conf
server: server2
filename: /etc/named.conf
filename: /etc/nsswitch.conf
filename: /etc/hosts