#!/usr/bin/perl use warnings; use strict; use XML::Twig; my $xml = < XML my $yahoo = 'one'; my $result = ''; my $twig = XML::Twig->new ( twig_roots => { computer => sub { oneHandler ( \$result, @_, $yahoo);} } ); $twig->parse($xml); sub oneHandler { my ($result_ref, $twig, $elt,$yabal ) = @_; if ($elt->att('id') eq $yabal ) { #print $$result_ref, $elt->att('id') . "\n"; $elt->print; exit 1; } usage(); } sub usage { print "you suck\n"; exit 1; }