我想比較兩個哈希值的數組,以查看它們是否相等。也就是說,關鍵值應該包含相同的元素。比較兩個散列的哈希值是否相等
my %h1 = (
w1 => ['3','1','2'],
e2 => ['6','2','4'],
r1 => ['8', '1'],
);
my %h2 = (
w1 => ['3','1','2'],
e2 => ['6','2','4'],
r1 => ['8','1'],
);
my %h3 = (
w1 => ['3','1','2'],
e2 => ['6','2','4'],
r1 => ['4','1'],
);
my $i = 0;
foreach (keys %h2){
my $conditional = scalar keys %h2; # 3
if ([sort @{$h1{$_}}] ~~ [sort @{$h2{$_}}]) {
$i++;
}
if ($i eq $conditional){
print "true\n";
}
}
比較%h1
和,因爲他們是平等的%h2
應返回true。比較%h1
和%h3
什麼都不打印。 1)有沒有更好的方法來做到這一點?
編輯
我想做到這一點,而無需使用功能從一個模塊。
如何在不使用模塊的情況下執行此操作? – cooldood3490
@ cooldood3490 - 你有沒有特別的理由不能使用模塊? – frezik
這是一個任務。我想學習。 :-) – cooldood3490