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