in reply to Comparing ARRAY Ref values

If I have a shopping list with "bread, milk, butter" written on it, and you have a shopping list with "bread, milk, butter" on it, then we still have two different shopping lists. The way we can prove that they're different shopping lists is if I add "jam" to my list, your list is unaffected.

So what you're doing is comparing whether the shopping lists are the same shopping list. What you (seem to) want to do is compare whether they contain the same items.

Test::Deep::NoTest as suggested by greengaroo is a good place to start. Also read the documentation for set and bag from the same module to allow a little more control over the comparison (e.g. whether the order of items in the arrays is significant; whether duplicates are significant).

package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name