use strict; use warnings; use XML::Twig; # Select Twig bassed on value of id attribute on Person element my $twig= new XML::Twig( twig_handlers => { 'Person[@id="50000"]' => \&Person } ); $twig->set_pretty_print ('record'); # Human readable output please $twig->parsefile( "dharry.xml"); $twig->flush; sub Person { my( $twig, $person)= @_; my $name = $person->first_child("First"); $name->set_text("dHarry"); $twig->flush; }