我有2个哈希,如下所示
hash1:
key value
part0 company0
part1 company1
part2 company2
hash2:
key value
part0 2B
part1 4B
part2 6B
我想要的是使用像这样的2个哈希来构建一个字符串 “part0 company0 2B,part1 company1 4B,part2 company2 6B”(不含引号)
我怎样才能做到这一点?
答案 0 :(得分:1)
好吧,假设你保证两个哈希都有相同的键,你可以这样做:
foreach my $key (sort keys %hash1) {
print "$key $hash1{$key} $hash2{$key}\n";
}
如果他们可能有不同的键,你需要找到一种方法来获得列表联合或交集,这可能是List :: Compare中的函数。
答案 1 :(得分:1)
my $answer = "";
my $pad = "";
foreach my $key (sort keys %hash1)
{
$answer .= "$pad$key $hash1{$key} $hash2{$key}\n";
$pad = ", ";
}
print "$answer\n";
这假设hash2
包含hash1
中找到的每个密钥的单个简单条目(它可能包含额外的条目,但它可能不包含更少的条目)。