Instead of matching multiple characters before the parenthesis,
only check for a single whitespace, which is much less cpu-intensive.
This only matches a few dozen of places where they are on an separate
line, filter out those with a separate regex.
}
# Forbid whitespace following ( or prior to )
- if ($data =~ /\S\s+\)/ ||
+ # but allow whitespace before ) on a single line
+ # (optionally followed by a semicolon)
+ if (($data =~ /\s\)/ && not $data =~ /^\s+\);?$/) ||
$data =~ /\(\s+\S/) {
print "Whitespace after '(' or before ')':\n";
print "$file:$.: $line";