my $count = do { my %seen; @seen{@somenames} = (); my $c; foreach my $name ( @allnames ) { $c++ if exists $seen{$name}; } $c; }; #### my $count; foreach my $name (@allnames) { $count++ if grep { $_ eq $name } @somenames; }