我想要做的是比较两个哈希的键,如果hash1中存在hash1中的键,则在hash2的值中插入hash1中的相应值,并检索修改后的值。 />
我试图通过从数组中的hash2中分割值(所述值是制表符分隔的字符串)并拼接数组来实现。
我希望输出看起来像这样:
foo bar baz qux
但它在拼接后立即生成了一个不需要的换行符:
foo bar modified
qux
如何避免这个换行符?
以下是相应的代码:
foreach my $hash1key ( keys %hash1 ) {
if ( exists $hash2{($hash1key)} ) {
my $line = $hash2{$hash1key};
my @results = split /\t/, $line;
splice @results, 2, 1, $hash1{$hash1key};
for ( @results ){
print OUT $_."\t";
}
}
}
答案 0 :(得分:5)
%hash1
中的值显然已被换行符
你展示的代码很好;你需要调试%hash1