Alternatively, you can use Test::Deep
use Test::More tests => 1;
use Test::Deep;
my %expect = ( this => 42, that => [qw(1 2 3)] );
my %got = some_function();
cmp_deeply( \%got, \%expect );
is_deeply() is really a stop-gap measure
Test::Deep does the job much better