use strict; use warnings; use XML::Twig; my $xmlStr = < Unix END_XML my $twig = XML::Twig->new ( twig_roots => {'os' => \&newOs,}, twig_print_outside_roots => 1, ); $twig->parse ($xmlStr); sub newOs { my ($twig, $os) = @_; $os->set_text ('Solaris'); $os->print (); }