use strict; use warnings; use Text::CSV; use Text::CSV_XS; use autodie; print_Filenames_directory(); sub print_Filenames_directory { my @files = <*.csv>; foreach my $file (@files) { open my $in, "+<:encoding(utf8)", $file or die $!; my $csv = Text::CSV_XS->new ({ binary => 1, auto_diag => 1 }); my @name = split _,$file; my $grpid = $name[0]; my $grpname = substr($name[1], 0,-4); my @headers; while (my $row = $csv->getline($in)) { if($.==1) { # Add value to @columns array splice @$row, 0, 0, "Group ID"; splice @$row, 1, 0, "Group Name"; @headers = "@$row\n"; print "@headers"; #$csv->print(@headers); } else { splice @$row, 0, 0, $grpid; splice @$row, 1, 1, $grpname; print "@$row\n"; #$csv->print($in, @$row); } } # check for errors $csv->eof or $csv->error_diag(); close $in; } }