use strict; use warnings; use XML::Twig; my $file1 = $ARGV[0] || die 'No file1'; my $FileResult = $ARGV[3] || 'result.txt'; open( my $FhResult, '>', $FileResult ) or die("Unable to open file $FileResult\n$!"); my $twig1= XML::Twig->new( twig_handlers => { 'Parameter' => sub { my $attr_value = $_->{'att'}->{'value'} || 'fault'; print $FhResult $attr_name . ","; }, }, ); print $FhResult( (split('_', $file1,2))[0] . ',' ); $twig1->parsefile($file1);