my $t = XML::Twig->new( twig_handlers => { 'oa:ItemID[@agencyRole="Prefix_Number"]' => \&set_prefix_number, 'oa:ItemID[@agencyRole="Stock_Number_Butted"]' => \&get_stock_number, }, ); $t->parse($xml); BEGIN { my $prefix_number; sub set_prefix_number { my ($t, $node) = @_; $prefix_number = $node->text(); } sub get_stock_number { my ($t, $node) = @_; my $stock_number = $node->text(); print "$prefix_number$stock_number\n"; } }