file1 file2 #### foreach (@array) { parXML($_); } #### sub parXML { my $file = shift; #print "$file\n"; my $twig=XML::Twig->new(twig_handlers => {IP_ADDRESS => \&ip, COM=>\&co}); $twig->set_pretty_print('indented'); $twig->parsefile($file); sub ip { my($twig, $ip)= @_; print "Target:".$ip->text."\n"; twig->print; $twig->purge; } sub co { my($twig, $co)= @_; $co->print; print "\n\n"; $twig->purge; } } #### abc ip 192.168.67.16 1 ac #### ab ip 192.168.67.110 5 gn #### 192.168.67.16 1 #### 192.168.67.110 5