0

由于数据包含换行时数据 Text::CSV 解析中的换行问题,我已从 Text::CSV 移至 XS 版本

Text::CSV_XS 删除数据中的所有转义字符(我正在使用带有 perl 5.8.8 的 linux)这是示例代码(如下)

我希望在转义 1 \ 后第 3 行的属性应该是 \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
4

1 回答 1

1

使用allow_unquoted_escape => 1(自 0.95 版起可用)。

于 2013-09-02T14:00:43.213 回答