Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish3pm
"use english" must be passed a "-no_match_vars" argument.
Affiliation
This Policy is part of the core Perl::Critic distribution.
Overview
Due to unfortunate history, if you use the English module but don't pass in a "-no_match_vars" argument, all regular expressions in the entire program, not merely the module in question, suffer a significant performance penalty, even if you only import a subset of the variables.
use English; # not okuse English '-no_match_vars'; # okuse English qw< $ERRNO -no_match_vars >; # okuse English qw($OS_ERROR); # not ok
In the last example above, while the match variables aren't loaded into your namespace, they are still created in the "English" namespace and you still pay the cost.
Configuration
This Policy is not configurable except for the standard options.
Releases
10 releases since Debian 5.0 (Lenny); the text changed 9 times.