1
我有以下脚本,使用它可以比较使用哈希的两个文件的列。perl使用具有多个密钥的哈希比较文件
但是,当$转换cols [5]和$ table cols [2]匹配时,我想要打印出$ conversion中另一列的值,即cols [1]中的相应值。我试图通过将cols [1]的值赋给我的%散列中的第二个键(称为$ keyfield2)来做到这一点。但是我没有成功打印它。这是我的代码到目前为止:
my %hash =();
while(<$conversion>){
chomp;
my @cols = split(/\t/);
my $keyfield = $cols[5];
my $keyfield2 = $cols[1];
$hash{$keyfield,$keyfield2}++;
}
seek $table,0,0; #cursor resetting
while(<$table>){
my @cols = split(/\t/);
my $keyfield = $cols[2];
if (exists($hash{$keyfield})){
print $output "$cols[0]","\t","$hash{$keyfield2}","\t","$cols[1]\n";
}
}
任何提示如何做到这一点?
山坳被覆盖掉在第二循环中。所以在打印中col是来自表格的值。只需使用$ keyfield2即可从转换中获取col1的值。 – 2014-11-07 02:29:26