Data::Compare is very good, but I used
FreezeThaw with its cmpStrHard method---it takes two distinct
entities and compares them as a group. The way that I did it, I could slice, dice and ignore only the 2nd element, but that works out to be an exercise in futility. FreezeThaw will report that the groups are different in spite of ignoring that
2nd element. Here's what I tried:
#!/usr/bin/perl
use strict;
use warnings;
use FreezeThaw qw(cmpStrHard);
my %a;
my %b;
%a = %b = (
'this' => 'FOO',
more => [ 'one', 'two' ],
'that' => 'FOO',
more => [ 'one', 'three' ]
);
$a{MORE} = \%b;
$b{MORE} = \%a;
printf "a and b contain %s hashes\n",
cmpStrHard( \%a, \%b ) == 0 ? "the same" : "different";