字符串我有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