Perl::Critic::Policy::Community::ConditionalDeclarations(3pm)

Perl::Critic::Policy::Community::ConditionalDeclarations3pm

Don't declare variables conditionally

Overview

It is possible to add a postfix condition to a variable declaration, like "my $foo = $bar if $baz". However, it is unclear (and undefined) if the variable will be declared when the condition is not met. Instead, declare the variable and then assign to it conditionally, or use the ternary operator to assign a value conditionally.

  my $foo = $bar if $baz;           # not ok
  my ($foo, $bar) = @_ unless $baz; # not ok
  our $bar = $_ for 0..10;          # not ok
  my $foo; $foo = $bar if $baz;     # ok
  my $foo = $baz ? $bar : undef;    # ok

This policy is a subclass of the core policy Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations, and performs the same function but in the "community" theme.

Affiliation

This policy is part of Perl::Critic::Community.

Configuration

This policy is not configurable except for the standard options.

Releases

2 releases since Debian 12 (Bookworm); the text changed 1 time.

  1. 12
  2. 13

Author

Dan Book, "[email protected]"

From libperl-critic-community-perl 1.0.4-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.