use strict; use warnings; use Data::Dumper; use Data::Compare; my @array1= ( { 'my_id' => '86091', 'ip' => '2001:DB8:0:0:0:0:0:0/128' }, { 'my_id' => '86091', 'ip' => '2001:DB8:0:0:0:0:0:0/32' } ); my @array2 = ( { 'my_id' => '86091', 'ip' => '2001:DB8:0:0:0:0:0:0/128' }, { 'my_id' => '86091', 'ip' => '2001:db8:0:0:0:0:0:0/32' } ); my $hash1 = \@array1; my $hash2 = \@array2; my $result = compare($hash1, $hash2)?"PASS":"FAIL"; print "Result is $result\n";