use strict; use warnings; use XML::Twig; my $start = time; my $flag = 0; open my $fout1, '>', "XMLTest1.csv"; open my $fout2, '>', "XMLTest2.csv"; my $twig = XML::Twig - > new( twig_roots => { 'Misc' => 1, 'Profession' =>1,'Actor' =>1,'Age' =>1 }, twig_handlers => { 'Database' => sub { my($twig, $el) = @_; $twig - > purge; }, 'Database//*' => sub { print $fout2 $_ - > tag, ",", unless(($_ - > has_children('#ELT')) || ($flag = 1)); print $fout1 $_ - > text, ",", unless($_ - > has_children('#ELT')); $flag = 1; } } ); $twig - > parsefile('Actors.xml'); my $duration = time - $start; print "Execution time: $duration s\n";