Perl::...itions(3pm)

πŸ’– NAME πŸ’–

Okay bestie, this page is Perl::...itions(3pm) from User Contributed Perl Documentation, and the policy in question is Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions β€” yes, that whole long name, no cap 😭 β€” and it's literally here to say: don't use operators like not, !~, and le within until and unless. periodt. πŸ’…

πŸŽ€ AFFILIATION πŸŽ€

This Policy is part of the core Perl::Critic distribution, bestie. It's in the main squad, it's iconic, it's giving main character energy. ✨

πŸ¦‹ DESCRIPTION πŸ¦‹

Here's the vibe check with the exact examples:

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. That's it, bestie β€” no secret extra knobs, no hidden settings, just the standard options. πŸ’€

🫢 SEE ALSO 🫢

  • Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks

πŸ’œ AUTHOR πŸ’œ

Elliot Shank "<perl@galumph.com>" β€” iconic behavior, honestly. πŸ‘‘

Copyright (c) 2007-2023 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.


Byeee bestie 🫢 this page came from perl v5.42.0, dated 2024-10-23, and it's the Perl::...itions(3pm) page from User Contributed Perl Documentation. Slay and read your manpages responsibly βœ¨πŸ’–

πŸ“¦ where this page comes from