my @A = (1,3,4,5,6,8); my @B = (1,3,5,7,9); my (%A, %B, @C); @A{@A} = (1) x @A; @B{@B} = (1) x @B; @C = grep { delete $B{$_} && delete $A{$_} } sort keys %A; @A = sort keys %A; @B = sort keys %B;