You got me thinking. If I take out the getline and put the parse in the loop and add your error_diag(),
use strict;
use warnings;
use Text::CSV_XS;
my $tr_csv = Text::CSV_XS->new({ binary => 1, eol => $/ });
open(my $tr,"<",'file.csv') or die "Failure opening ERS data file: $!"
+;
while (my $row = <$tr>) {
$tr_csv->parse($row);
print $tr_csv->error_diag(),"\n";
}
I can get some errors.
2032EIF - CR char inside unquoted, not part of EOL436
2032EIF - CR char inside unquoted, not part of EOL435
2032EIF - CR char inside unquoted, not part of EOL433
2032EIF - CR char inside unquoted, not part of EOL425
2032EIF - CR char inside unquoted, not part of EOL425
I guess that means it's worse than just having two extra characters at the beginning.