open(OUT, ">$tmpdir/$fname") or die "Can't open output $tmpdir/$fname: $!\n"; my $twig = XML::Twig->new(twig_roots => { '/object/attributes/attribute' => sub { put_new_jump(@_, \*OUT, $path) }, }, twig_print_outside_roots => \*OUT, keep_encoding => 1, ); sub put_new_jump { my ($tree, $elem, $fh, $path) = @_; my $name = $elem->att('name'); print "Name: $name\n"; $elem->print($fh); } #### Name: CreateTime 1250716389 Name: RevOperator jwalton Name: Uid PS4PS9S Name: DataRevisionDate 1250801191