my $re; my %valid; ++$valid{ $_ } for @ARGV; my %Y; while ( <> ) { my ( $y ) = ...; ++$Y{ $y } if $y && ( !%valid || $valid{ $_ } ); }