Perl::Critic::Policy::ControlStructures::ProhibitUntilBlocks(3pm)

Perl::Critic::Policy::ControlStructures::ProhibitUntilBlocks3pm

Write "while(! $condition)" instead of "until($condition)".

Affiliation

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

Overview

Conway discourages using "until" because it leads to double-negatives that are hard to understand. Instead, reverse the logic and use "while".

    until($condition)     { do_something() } #not ok
    until(! $no_flag)     { do_something() } #really bad
    while( ! $condition)  { do_something() } #ok

This Policy only covers the block-form of "until". For the postfix variety, see "ProhibitPostfixControls".

Configuration

This Policy is not configurable except for the standard options.

Releases

10 releases since Debian 5.0 (Lenny); the text changed 9 times.

  1. 5.0
  2. 6.0
  3. 7
  4. 8
  5. 9
  6. 10
  7. 11
  8. 12
  9. 13
  10. Arch

Author

Jeffrey Ryan Thalhammer <[email protected]>

From perl-perl-critic 1.156-3 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.