$ha = [[1,2], [5,5,5], [1,2], [3,4]]; $hb = [[4,3], [1,2], [2,1], [5,5,5]]; #### use Set::Bag; my $bag_a = Set::Bag->new(); my $bag_b = Set::Bag->new(); #### my @ser_a; for my $aref (@$ha) { push @ser_a, join ',', sort {$a <=> $b} @$aref; } my @ser_b; for my $bref (@$hb) { push @ser_b, join ',', sort {$a <=> $b} @$bref; } print "They are "; unless ( (join ',', sort @ser_a) eq (join ',', sort @ser_b)) { print "not "; } print "equal\n";