my @offensive_words = qw( smurf fork rake ); my $bad = join('|', @offensive_words); $bad = qr($bad); ... open FH, $filename; while(){ /($bad)/oi and push( @rude_quotes, $1) and next; /^\d{4}-(.+)/os and push( @witty_quotes, $1 ); }