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

Perl::Critic::Policy::ControlStructures::ProhibitDeepNests3pm

Don't write deeply nested loops and conditionals.

Affiliation

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

Overview

Deeply nested code is often hard to understand and may be a sign that it needs to be refactored. There are several good books on how to refactor code. I like Martin Fowler's "Refactoring: Improving The Design of Existing Code".

Configuration

The maximum number of nested control structures can be configured via a value for "max_nests" in a .perlcriticrc file. Each for-loop, if-else, while, and until block is counted as one nest. Postfix forms of these constructs are not counted. The default maximum is 5. Customization in a .perlcriticrc file looks like this:

    [ControlStructures::ProhibitDeepNests]
    max_nests = 3

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.