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



我要做的是比较两个哈希的键,如果哈希 2 中存在来自哈希 1 的键,则将哈希 1 中的相应值插入哈希 2 的值中,并检索修改后的值。
我正在尝试通过将数组中的 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";
        }
    }
}

%hash1 中的值明显用换行符终止

您显示的代码工作正常;您需要调试填充%hash1

最新更新