Text::CSV
タブ区切りファイルを解析できるように Perl モジュールを利用しようとしています。
解析しようとしているファイルは次のとおりです。
#IGNORE COLUMN1 COLUMN2 COLUMN3 COLUMN4
ROW1 x y z a
ROW2 b c d
ROW3 w
ファイルはタブ区切りになっていることに注意してください。このファイルには、N
列とN
行が含まれる場合があります。また、 の場合ROW2
、4 番目のタブがありますが、値はありません。の値のROW3
後にタブがありません。つまり、一部の列には未定義の値または空白の値が含まれる場合があります。w
COLUMN1
これまでのところ、私は Perl スクリプトを書き始めましたが、次の質問に答えるコードをどのように記述できるかを理解しようとして非常に早い段階でつまずきました。
いくつあるか調べROWn
てください。次に、各COLUMNn
チェックでROWn
値があるかどうかを確認します。したがって、この場合、COLUMN2
とCOLUMN3
にCOLUMN4
は欠損値があります。
どんなヒントやガイダンスも役に立ちます (私は Perl が初めてです)。CPAN Text::CSV ページを見てきましたが、この問題を解決できませんでした。
#!/usr/bin/perl
use warnings;
use strict;
use v5.12;
use Text::CSV;
my $csv = Text::CSV->new ({
escape_char => '"',
sep_char => '\t',
eol => $\,
binary => 1,
blank_is_undef => 1,
empty_is_undef => 1,
});
open (my $file, "<", "tabfile.txt") or die "cannot open: $!";
while (my $row = $csv->getline ($file)) {
say @$row[0];
}
close($file);