私は Perl の初心者で、タスクをすばやく完了する必要があります。どんな助けでも大歓迎です!
次のように、配列の 2 つのハッシュがあります。
Hash 1
-------
w: ['A','B','C']
e: ['P','Q','R']
Hash 2
-------
w:['A','B','C']
e:['P','Q','O']
r:['S','T']
環境:
同じキーの値の違いを見つけたいです (たとえば、ハッシュ 1 には、同じキー「e」のハッシュ 2 とは値「O」がありません。
キーの違いを見つけます。(たとえば、'r' はハッシュ 1 には存在しません。
いくつかのコードをまとめましたが、2 つのハッシュから完全な行の正確な値をチェックします。たとえば、キー w のハッシュ 1 に 'A','B','C' があり、同じキーのハッシュ 2 に 'B', 'C','A' があるとします。値ごとに値を比較したい-
次のコードは、2 つのハッシュ OS 配列を比較します。したがって、上記の例から、ハッシュ 1 の A,B,C は、ハッシュ 2 の B 、 A,C と等しくありません。
for ( keys %hash2 )
{
unless ( exists $hash1{$_} ) # Checks for mismatches in keys
{
print "$_: Key mismatch $_ received \n";
next;
}
if ( $hash2{$_} eq $hash1{$_} ) #Compares two lines exactly
{
print "$_: No mismatch \n";
}
else
{
print "$_: Value mismatch for key $_ \n"; #Difference in Value
}
}