my @param; for ( qw( foo bar baz ) ) { # check whatever and push to array push @param, $_ if ( defined $_ ); } my $re = join('|', map { quotemeta($_) } @param ); $re = qr{($re)};