由于数据内部换行的问题,我从Text::CSV移到了XS版本文本::数据包含换行时的CSV解析
文本::CSV_XS删除数据中的所有转义字符(我使用的是带有perl 5.8.8的linux)这是的样本代码(如下)
我希望第3行的属性在转义1\之后应该是\N,但Text::CSV_XS删除了\
use strict;
use warnings;
use Text::CSV_XS;
my $csv = Text::CSV_XS->new({
binary => 1,
eol => "n",
quote_char => '"',
escape_char => '\',
auto_diag => 2,
allow_loose_escapes => 1,
}) or die "Can't create CSV parser";
while( my $row = $csv->getline(*DATA) ) {
print join(" ",@{$row})."n";
}
__DATA__
ata,atb,atc
1a,"1b
1b-continued",1c
\N,2b,2c
这是输出
ata atb atc
1a 1b
1b-continued 1c
N 2b 2c
使用allow_unquoted_escape => 1
(自0.95版本起提供)。