我正在尝试使用Text::CSV
Perl 模块来解析制表符分隔的文件。
我要解析的文件是:
#IGNORE COLUMN1 COLUMN2 COLUMN3 COLUMN4
ROW1 x y z a
ROW2 b c d
ROW3 w
请注意,该文件是制表符分隔的。该文件可能有N
列和N
行。此外,在 的情况下ROW2
,它有第四个选项卡但没有值。的值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);