my %B = map { $_ => 1 } @B; foreach my $data ( @A ) { push @A_not_B, $data unless $B{$data}; }