use XML::Twig; my $doc=new XML::Twig ( twig_roots => { "definition" => \&parseEntry } ); sub parseEntry { my ($twig,$element)=@_; my $id=$element->att("id"); if ($id eq "OVAL3") { $element->flush(); return 1; } $twig->purge(); return 0; } $doc->parsefile("test.xml"); $doc->flush();