my @diff; my @inter my %count2 = (); foreach my $element (@union,@ICUNAV) { $count2{$element}++; }; foreach my $element (keys %count2) { push @{ $count2{$element} > 1 ? \@inter : \@diff }, $element; }; print Dumper(@diff),"\n";