我在這裏有一段代碼,我在這裏比較六個散列的密鑰在一起,以找到所有這些密鑰中常見的密鑰。然後,我將每個散列的值合併到一個新散列中的一個值中。我想要做的是使這個可擴展。我希望能夠輕鬆從比較3次哈希到100次,而不必返回到我的代碼並改變它。有關我如何實現這一點的任何想法?其餘代碼對於不同的輸入量已經很好,但這是我堅持的一部分。比較常見密鑰合併值的多個散列
my $comparison = List::Compare->new([keys %{$posHashes[0]}], [keys %{$posHashes[1]}], [keys %{$posHashes[2]}], [keys %{$posHashes[3]}], [keys %{$posHashes[4]}], [keys %{$posHashes[5]}]);
my %comboHash;
for ($comparison->get_intersection) {
$comboHash{$_} = ($posHashes[0]{$_} . $posHashes[1]{$_} . $posHashes[2]{$_} . $posHashes[3]{$_} . $posHashes[4]{$_} . $posHashes[5]{$_});
}
只需創建一個子例程並將哈希引用傳遞給它,那麼您可以輕鬆地在其中執行必要的循環。例如。 '我的@hashes = @_;爲我的$ href(@ hashes){...}'。 – TLP