Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations - Do not write my $foo = $bar if $baz; .


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


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


This Policy is not configurable except for the standard options.


Jeffrey R. Thalhammer <>


Copyright (c) 2006-2011 Chris Dolan.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module.