Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr(3pm) User Contributed Perl Documentation NAME Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr - Use 4-argument "substr" instead of writing "substr($foo, 2, 6) = $bar". AFFILIATION This Policy is part of the core Perl::Critic distribution. DESCRIPTION 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;"). CONFIGURATION This Policy is not configurable except for the standard options. SEE ALSO "substr" in perlfunc (or "perldoc -f substr"). "4th argument to substr" in perl5005delta AUTHOR Graham TerMarsch COPYRIGHT 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. perl v5.38.0 2023-07-26 Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr(3pm)