my $parser = Text::CSV->new ({ auto_diag => 1, quote_char => "'", allow_loose_quotes => 1, allow_loose_escapes => 1, allow_whitespace => 1, }); open my $fo, ">", $outfile or die "$outfile: $!\n"; open my $fh, "<", $file or die "$file: $!\n"; while (my $row = $csv->getline ($fh)) { print $fo (join "@" => $row->[0], $row->[1] . $row->[2], $row->[3], $row->[17], $row->[18], ), "\n"; }