perl Text :: CSV_XS删除所有escape_chars

时间:2013-09-02 12:42:46

标签: perl csv xs

由于内线数据的换行问题,我已从Text :: CSV转移到XS版本 Text::CSV parsing when data contains newline

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

1 个答案:

答案 0 :(得分:1)

使用allow_unquoted_escape => 1(自0.95版开始提供)。