my @base= qw/b c d e/; my @dist= qw/w x y z/; my @id = @base; my @more= qw/a b c d e/; my @less= qw/b c d/; my @intr= qw/a b c d/; print compare(\@base, \@dist); print compare(\@base, \@id ); print compare(\@base, \@more); print compare(\@base, \@less); print compare(\@base, \@intr); sub compare { my($b, $c)= @_; my %a; @a{@$b}= (); my $n= scalar %a; @a{@$c}= (); return "differ\n" if $n ne scalar %a; delete @a{@$c}; return "differ\n" if scalar %a; return "identical\n"; }