对于输入示例(第 1 行),我需要将数据拆分为由制表符分隔的列:abc<tab>def<tab>ghi
这样每列都放在不同的数组中。
我可以使用 split('\t')
实现吗? ?
最佳答案
我不完全确定你想做什么,因为你没有提供引用代码。但是,这至少会粗略地做我认为你想要的。获取一个输入文件(假设它比提供的文件更长更好地阅读)并且对于保存输入的数组中的每一行,拆分 \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
关于arrays - 将制表符分隔的数据拆分为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18512050/