3

对于输入示例(第 1 行),我需要将数据拆分为由制表符分隔符分隔的列:abc<tab>def<tab>ghi以便将每一列放入不同的数组中。

我可以使用来实现这一点split('\t')吗?

4

1 回答 1

4

我不完全确定您想要做什么,因为您没有提供参考代码。但是,这至少会粗略地做我认为你想要的。获取一个输入文件(假设它比提供的文件更长,更好地读取),对于数组中保存输入的每一行,拆分\t并将第一个元素推到@group1等等。您应该能够从那里打印出每个元素。 ..

#!/usr/bin/perl
use warnings;
use strict; 

open my $infile, '<', 'in.txt' or die "Can't read from $file: $!";

my (@group1, @group2, @group3);

while (<$infile>){
    my @cols = split(/\t/);
    push @group1, $cols[0];
    push @group2, $cols[1];
    push @group3, $cols[2];
}   

print "$group1[0]\n";
print "$group2[0]\n";
print "$group3[0]\n";

输出:

abc
def
ghi
于 2013-08-29T13:16:42.173 回答