5
我正在使用Text::CSV
模块将行分析为来自制表符分隔值文件的各个字段。在字符串特殊字符使用Perl解析带特殊字符的字段Text :: CSV
例子是
"CEZARY Å?UKASZEWICZ, PAWEÅ? WIETESKA","BÜRO FÜR"
我的代码去如下:
my $file = $ARGV[0] or die "Need to get TSV file on the command line\n";
my $csv = Text::CSV->new({sep_char => "\t"});
open(my $data,'<', $file) or die "Could not open '$file' $!\n";
while (my $line= <$data>) {
if($csv->parse($line)){
my @curr_arr = $csv->fields();
}
} # end of while
close $data;
以上是我的一些代码的重要组成部分。我得到的错误是如下:
cvs_xs error : 2026 - EIQ - Binary Character inside quoted field, binary off @pos 15
重要提示:默认行为是只接受ASCII字符。这意味着字段不能包含换行符。如果您的数据包含字段中嵌入的换行符或字符数超过0x7e(代字号)或二进制数据的字符,您必须在调用new()时设置binary => 1。为了覆盖最广泛的解析选项,您总是需要设置二进制。 – alex