use strict; use XML::Twig; my $file = "bin/Example.xml"; my $node = $ARGV[0]; my $value = $ARGV[1]; my $i = 0; my $twig= new XML::Twig( twig_handlers => { Record => \&Record }); $twig->parsefile($file); print "Finished Search!\n"; sub Record { my( $twig, $record)= @_; my @matcharray= $record->get_xpath($node); for my $match (@matcharray[-1]){ if( $match->text eq $value){ # PRINT ALL NODES FROM THIS RECORD HERE... }} $twig->purge; }