use strict; use warnings; my @array1 = ('anu','abu','ali'); my @array2 = ('anu','abu'); print mycmp(\@array1, \@array2); sub mycmp { my ($a1, $a2) = @_; return 0 if $#$a1 != $#$a2; my %h; $h{$_}++ for @$a1; $h{$_}-- for @$a2; for (values %h) { return 0 if $_; } return 1; }