#!/usr/bin/perl -w use strict; use XML::Twig; my $twig = new XML::Twig( TwigRoots => { 'server' => \&output_srv }); $twig->parsefile("myfile.xml"); sub output_srv { my( $tree, $elem ) = @_; my $status = $elem->att('status') . "\n"; my $hostname = $elem->findvalue('hostname') || ''; my $os = $elem->findvalue('rules/rule[@name="os"]') || ''; print "Host: $hostname Status: $status OS: $os\n"; }