in reply to Ignore elements using twig module

oo! I just found a much better way! ignore was made for this very purpose.
use XML::Twig qw( ); sub twig_data_type { my ($twig, $ele) = @_; $ele->parent()->ignore() if $ele->trimmed_text() eq 'yyy'; return 1; } my $twig = XML::Twig->new( twig_handlers => { 'data/type' => \&twig_data_type, }, # Output will be nicely formatted, but not necessarily valid. pretty_print => 'indented', ); $twig->parse(\*DATA); $twig->print(); __DATA__ <doc> <data> <type>xxx</type> <vars>a</vars> </data> <data> <type>yyy</type> <vars>b</vars> </data> </doc>
<doc> <data> <type>xxx</type> <vars>a</vars> </data> </doc>