拼接数组会生成不需要的新行

时间:2018-04-17 10:21:29

标签: perl hash newline splice

我想要做的是比较两个哈希的键,如果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";
        }
    }
}

1 个答案:

答案 0 :(得分:5)

%hash1中的值显然已被换行符

终止

你展示的代码很好;你需要调试%hash1

的人口