use FreezeThaw qw[cmpStrHard]; use strict; use warnings; my @one = ( 1 .. 10, ( [ 1 .. 2] ) x 5 ); my @two = ( 12 .. 21, ( [ 11 .. 22] ) x 4 ); warn "one one ", cmpStrHard(\@one,\@one) == 0 ? "same\n" : "different\n"; die "one two ", cmpStrHard(\@one,\@two)== 0 ? "same\n" : "different\n"; __END__ one one same one two different