logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt

Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish - "use English" must be passed a

Affiliation

       This Policy is part of the core Perl::Critic distribution.

Author

       Elliot Shank "<perl@galumph.com>"

Configuration

       This Policy is not configurable except for the standard options.

Description

       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 ok
           use English '-no_match_vars';             # ok
           use English qw< $ERRNO -no_match_vars >;  # ok
           use 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.

Name

       Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish - "use English" must be passed a
       "-no_match_vars" argument.

See Also