Jeffrey Ryan Thalhammer > Perl-Critic-1.119 > Perl::Critic::Policy::Variables::ProhibitAugmentedAssignmentInDeclaration

Download:
Perl-Critic-1.119.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

New  61
Open  120
Stalled  4
View/Report Bugs
Module Version: 1.119   Source   Latest Release: Perl-Critic-1.122

NAME ^

Perl::Critic::Policy::Variables::ProhibitAugmentedAssignmentInDeclaration - Do not write my $foo .= 'bar'; .

AFFILIATION ^

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

DESCRIPTION ^

Variable declarations that also do initialization with '=' are common. Perl also allows you to use operators like '.=', '+=', etc., but it it is more clear to not do so.

    my $foo .= 'bar';              # same as my $foo = 'bar';
    our $foo *= 2;                 # same as our $foo = 0;
    my ( $foo, $bar ) += ( 1, 2 ); # same as my ( $foo, $bar ) = ( undef, 2 );
    local $Carp::CarpLevel += 1;   # same as local $Carp::CarpLevel = 1;
    state $foo += 2;               # adds 2 every time it's encountered

Such constructs are usually the result of botched cut-and-paste, and often are bugs. Some produce warnings.

CONFIGURATION ^

This Policy is not configurable except for the standard options.

AUTHOR ^

Mike O'Regan

COPYRIGHT ^

Copyright (c) 2011 Mike O'Regan. All rights reserved.

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.

syntax highlighting: