Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations(3pm)

Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations3pm

Do not write " my $foo = $bar if $baz; ".

Affiliation

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

Overview

Declaring a variable with a postfix conditional is really confusing. If the conditional is false, its not clear if the variable will be false, undefined, undeclared, or what. It's much more straightforward to make variable declarations separately.

    my $foo = $baz if $bar;          #not ok
    my $foo = $baz unless $bar;      #not ok
    our $foo = $baz for @list;       #not ok
    local $foo = $baz foreach @list; #not ok

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 R. 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.