字符串我有2个散列像下面建立从2个哈希
hash1:
key value
part0 company0
part1 company1
part2 company2
hash2:
key value
part0 2B
part1 4B
part2 6B
我想什么是使用2个散列这样 “PART0 company0 2B,第一部分公司1 4B,第2部分Company2的建立字符串6B“(不含引号)
我该如何做到这一点?
字符串我有2个散列像下面建立从2个哈希
hash1:
key value
part0 company0
part1 company1
part2 company2
hash2:
key value
part0 2B
part1 4B
part2 6B
我想什么是使用2个散列这样 “PART0 company0 2B,第一部分公司1 4B,第2部分Company2的建立字符串6B“(不含引号)
我该如何做到这一点?
好吧,假设你保证这两个散列具有相同的键,你可以做这样的事情:
foreach my $key (sort keys %hash1) {
print "$key $hash1{$key} $hash2{$key}\n";
}
如果他们可能有不同的密钥,您将需要找到一种方式来获得任何列表联合或交集,这可能是List :: Compare中的一个函数。
my $answer = "";
my $pad = "";
foreach my $key (sort keys %hash1)
{
$answer .= "$pad$key $hash1{$key} $hash2{$key}\n";
$pad = ", ";
}
print "$answer\n";
这假定hash2
包含在hash1
找到(它可能包含额外的条目,但它可能不包含更少的条目),每个键的单一,简单的条目。
假设你打算在`print`语句中写'$ key`而不是`%key`?来自[List :: MoreUtils](http://p3rl.org/List::MoreUtils)的 – 2011-12-17 07:30:25