Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr − Use 4−argument "substr" instead of writing "substr($foo, 2, 6) = $bar".
This Policy is part of the core Perl::Critic distribution.
Conway discourages the use of "substr()" as an lvalue, instead recommending that the 4−argument version of "substr()" be used instead.
substr($something, 1, 2) = $newvalue; # not ok substr($something, 1, 2, $newvalue); # ok
The four-argument form of "substr()" was introduced in Perl 5.005. This policy does not report violations on code which explicitly specifies an earlier version of Perl (e.g. "use 5.004;").
This Policy is not configurable except for the standard options.
"substr" in perlfunc (or "perldoc −f substr").
"4th argument to substr" in perl5005delta
Graham TerMarsch <graham AT howlingfrog DOT com>
Copyright (c) 2005−2011 Graham TerMarsch. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.