Perl::Critic::Policy::Variables::ProhibitAugmentedAssignmentInDeclaration(3)

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