Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions(3)dUntilConditions(3)
NAME
Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions
- Don't use operators like "not", "!~", and "le" within "until" and
"unless".
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
until ($foo ne 'blah') { #not ok
...
}
while ($foo eq 'blah') { #ok
...
}
A number of people have problems figuring out the meaning of doubly
negated expressions. "unless" and "until" are both negative
constructs, so any negative (e.g. "!~") or reversible operators (e.g.
"le") included in their conditional expressions are double negations.
Conway considers the following operators to be difficult to understand
within "unless" and "until":
! not
!~ ne !=
< > <= >= <=>
lt gt le ge cmp
CONFIGURATION
This Policy is not configurable except for the standard options.
SEE ALSO
Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks(3)
AUTHOR
Elliot Shank "<perl@galumph.com>"
COPYRIGHT
Copyright (c) 2007-2011 Elliot Shank.
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.
Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions(3)
perl-critic 1.134.0 - Generated Mon Jun 3 10:55:33 CDT 2019
