# into the sub 'twig_handler' '/DatatoParse/elt'
$_[1]->first_child('Nest1')->first_child('elt')->first_child('Junk1')->text;
####
my @junk1 = $_[1]->get_xpath('./Nest1/elt/Junk1');
print $junk1[0]->text;
####
sub elt_map{
my $elt = $_[1];
print join ',', map { my @cur = $elt->get_xpath($_);
$cur[0]->text;
}(qw(
d1
d2
./Nest1/elt/Junk1
./Nest1/elt/Junk2
./Nest1/elt/Nest2/elt/d5/X
./Nest1/elt/Nest2/elt/d5/Y
./Nest1/elt/Nest2/elt/d6/X
./Nest1/elt/Nest2/elt/d6/Y
./Nest1/elt/Nest2/elt/Nest3/Nest4/d7/d9/d10/d11
));
print "\n"
}
####
use strict;
use warnings;
use XML::Twig;
my $field = "Nest1";
my $twig = XML::Twig->new(
twig_handlers => {'/DatatoParse/elt' => \&elt_map,}
);
$/='';
$twig->parse();
sub elt_map{
my $elt = $_[1];
print join ',', map { my @cur = $elt->get_xpath($_);
$cur[0]->text;
}(qw(
d1
d2
./Nest1/elt/Junk1
./Nest1/elt/Junk2
./Nest1/elt/Nest2/elt/d5/X
./Nest1/elt/Nest2/elt/d5/Y
./Nest1/elt/Nest2/elt/d6/X
./Nest1/elt/Nest2/elt/d6/Y
./Nest1/elt/Nest2/elt/Nest3/Nest4/d7/d9/d10/d11
));
print "\n"
}
__DATA__
TV show 1
....
####
TV show 1,Heroes,FULL,Page 65,-2,-3,5,8,yipppeee
TV show 2,Prison Break,FULL,Page 65,-2,-3,5,8,yipppeee
TV show 4,Alias,FULL,Page 65,-2,-3,5,8,yipppeee