in reply to Need a test for deep equality

There is a module for this over at CPAN called Struct::Compare. From the description:

Compares two values of any type and structure and returns true if they are the same. It does a deep comparison of the structures, so a hash of a hash of a whatever will be compared correctly.

So, you just pass in two structures, and it returns true or false, based on whether or not the structures are equal.

Hope that helps!