Login
RT #72910: False-positive of Variables::ProhibitPunctuationVars when {}
authorTom Wyant <harryfmudd@comcast.net>
Sat, 3 Dec 2011 20:48:10 +0000 (20:48 +0000)
committerTom Wyant <harryfmudd@comcast.net>
Sat, 3 Dec 2011 20:48:10 +0000 (20:48 +0000)
commitbfcee38dcd1143379e2a1744c3f864dd7f3d0e5b
tree423bcb6c52d76e4f8bf2e5d6a848521a4410f75a
parent0c009758e08dc7d679edba36c09a8f51eeb23656
RT #72910: False-positive of Variables::ProhibitPunctuationVars when {}
used in interpolated string

Since the original interpolation code in this policy recognized
punctuation variables using a big honkin' regexp, the fix was by
computing and adding to the regexp the bracketed forms of the forbidden
variables. The brackets (if any) are stripped before comparison to the
{_allowed} configuration.

It also seemed a good idea to add the name of the variable to the error
description, since the position of the violation may not tell you enough
when the element containing the violation is a string.
Changes
lib/Perl/Critic/Policy/Variables/ProhibitPunctuationVars.pm
t/Variables/ProhibitPunctuationVars.run