sub array_eq { my($ar1, $ar2) = @_; @$ar1 == @$ar2 or return 0; return !grep { $ar1->[$_] ne $ar2->[$_] } 0 .. $#$ar1; } print array_eq (['one', 'two', 'three'], ['three', 'one', 'two']) ? 'the same' : 'different';