@a=(0,1,0,1,0,0,0,1); @b=(0,0,1,1,0,0,0,0); #### @intersection = @difference = (); %count = (); foreach $element (@a, @b) { $count{$element}++ } foreach $element (keys %count) { push @{ $count{$element} > 1 ? \@intersection : \@difference }, $element; } foreach (@difference) { print $_."--"; }