use strict; use Text::CSV_XS; my $csv_in = Text::CSV_XS->new ({ binary => 1, auto_diag => 1, sep_char => "|", allow_whitespace => 1 }); my $csv_out = Text::CSV_XS->new ({ binary => 1, eol => "\n" }); my $infile = "s.txt"; my $outfile = "s.csv"; open my $fh, "<", $infile or die "$infile: $!"; open my $out, ">", $outfile or die "$outfile: $!"; while (my $row = $csv_in->getline ($fh)) { $csv_out->print ($out, $row); }