my $good = "this string contains no blacklisted tokens"; my $bad = "this string is evil and wrong"; my @blacklist = ('evil', 'bad', 'wrong'); my $re = join '|', @blacklist; warn 'good string is ok' if $good !~ /\b(?:$re)\b/i; warn 'bad string failed' if $bad =~ /\b(?:$re)\b/i;