The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Perl::Critic::Policy::Community::ConditionalDeclarations - Don't declare variables conditionally

DESCRIPTION

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.

AUTHOR

Dan Book, dbook@cpan.org

COPYRIGHT AND LICENSE

Copyright 2015, Dan Book.

This library is free software; you may redistribute it and/or modify it under the terms of the Artistic License version 2.0.

SEE ALSO

Perl::Critic