【发布时间】:2016-02-03 14:44:44
【问题描述】:
将多个文件存储到我通常使用的数组中:
@files = glob("*.txt");
my @ID;
for my $file(@files) {
open IN, '<', $file or die "$!";
push @ID, $_ while (<IN>);
}
效果很好。
但是,如果我不想推送整个 $_ 而只存储特定字段,我该怎么办?
我尝试拆分 $_ 并推送特定字段,例如$F[2] 以及拆分 $_ 并重新加入其中的特定元素并推送结果:
@files = glob("*.txt");
my @ID;
for my $file(@files) {
open IN, '<', $file or die "$!";
my @F = split(' ', $_);
$fields = join "\t", @F[0,1,2,3];
push @ID, $fields while (<IN>);
}
但是,当使用第二个代码块时,@ID 是空的。
【问题讨论】:
标签: perl