You didn't understand. If you wished to compare that two structures were identical as if overloading didn't exist, you're out of luck. Test::More's is_deeply doesn't do anything to disable the overloading and to thus act on the data structure transparently.