use strict; use warnings; use XML::Twig; # Usage of finish_print my $twig= new XML::Twig( twig_roots => { 'name' => \&name } ); $twig->set_pretty_print ('nsgmls'); # Human readable output please $twig->parsefile( "some_file_name.xml"); sub Name { my( $twig, $name)= @_; $name = $name->first_child("First"); if ($name->text eq "43") { # Do stuff } else { } }