Can't call method "text" on an undefined value at IDOCXML_parse2.pl line 27, <$list> line 1. at IDOCXML_parse2.pl line 23 at IDOCXML_parse2.pl line 23 #### #!/usr/bin/perl use warnings; use strict; use Text::CSV_XS; use XML::Twig; my $listfile = shift; open my $list, '<', $listfile or die $!; while (my $xmlfile = <$list>) { chomp $xmlfile; my $twig = XML::Twig->new( twig_handlers => { 'EDI_DC40' => \&process_EDI_DC40, }, ); my $csv = Text::CSV_XS->new({ 'sep_char' => "|", }); $twig->parsefile($xmlfile); sub process_EDI_DC40 { my( $twig, $thingy ) = @_; my @values = map { $thingy->first_child( $_ )->text } qw(DOCNUM MESTYP SNDPRN RCVPOR RCVPRN); $csv->say( *STDOUT, \@values ); } }