5
Text::CSV
モジュールを使用して、タブ区切り値ファイルからさまざまなフィールドに行を解析しています。Perlを使用して特殊文字でフィールドを解析するText :: CSV
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;
上記は私のコードの重要な部分の一部です:文字列内の特殊文字の
例としては
"CEZARY Å?UKASZEWICZ, PAWEÅ? WIETESKA","BÜRO FÜR"
私のコードは以下のようになっています。次のように私が手にエラーがある:
cvs_xs error : 2026 - EIQ - Binary Character inside quoted field, binary off @pos 15
重要な注意:デフォルトの動作では、ASCII文字のみを受け入れることです。つまり、フィールドに改行を含めることはできません。あなたのデータにフィールドに埋め込まれた改行、または0x7e(チルダ)以上の文字、またはバイナリデータが含まれている場合、new()の呼び出しでバイナリ=> 1に設定する必要があります。幅広い解析オプションをカバーするには、常にバイナリを設定する必要があります。 – alex