Perl::Critic::Policy::Variables::ProhibitMatchVars(3) Avoid $`, $&, $' and their English equivalents.


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


Using the ``match variables'' "$`", $&, and/or "$'" can significantly degrade the performance of a program. This policy forbids using them or their English equivalents. See perldoc English or PBP page 82 for more information.

It used to forbid plain "use English;" because it ends up causing the performance side-effects of the match variables. However, the message emitted for that situation was not at all clear and there is now Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish, which addresses this situation directly.


This Policy is not configurable except for the standard options.


Chris Dolan <[email protected]>


Copyright (c) 2006-2011 Chris Dolan.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module.