my $del_handler = sub { $_->delete() }; my $node_to_delete = 'node1-node2-node3-node4'; my @tags = split('-', $node_to_delete ); my $handlers = { map { $_ => $del_handler } @tags }; my $twig = new XML::Twig( twig_handlers => $handlers ); $twig->parsefile(*DATA);