配列のハッシュが 2 つあります。配列の両方のハッシュのキーに同じ値が含まれているかどうかを比較したい。
#!/usr/bin/perl
use warnings; use strict;
my %h1 = (
w => ['3','1','2'],
e => ['6','2','4'],
r => ['8', '1'],
);
my %h2 = (
w => ['1','2','3'],
e => ['4','2','6'],
r => ['4','1'],
);
foreach ( sort {$a <=> $b} (keys %h2) ){
if (join(",", sort @{$h1{$_}})
eq join(",", sort @{$h1{$_}})) {
print join(",", sort @{$h1{$_}})."\n";
print join(",", sort @{$h2{$_}})."\n\n";
} else{
print "no match\n"
}
}
if ("1,8" eq "1,4"){
print "true\n";
} else{
print "false\n";
}
出力は次のようになります。
2,4,6
2,4,6
1,2,3
1,2,3
no match
false
しかし、何らかの理由で私のものが機能しif-statement
ていません。ありがとう