Perl::Critic::Policy::BuiltinFunctions::ProhibitReturnOr - Check for "return $x or ..."
return when encountered in an expression returns from the enclosing subroutine, without evaluating the rest of the expression. So a lower-precedence operator (or, and, xor) won't get evaluated after a return. This most commonly appears as the mis-idiom:
return
or
and
xor
# NO! DON'T DO THIS! return $x or die 'Aaaagh! $x was zero!';
Instead, use the higher-precedence || operator, like this:
||
return $x || die 'Aaaagh! $x was zero!';
Or separate the two operations, like this:
$x or die 'Aaaagh! $x was zero!'; return $x;
This Policy is not configurable except for the standard options.
Copyright (C) 2016 Jeremy Leader.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Jeremy Leader <jeremy@ziprecruiter.com>
Perl::Critic
To install Perl::Critic::Policy::BuiltinFunctions::ProhibitReturnOr, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Perl::Critic::Policy::BuiltinFunctions::ProhibitReturnOr
CPAN shell
perl -MCPAN -e shell install Perl::Critic::Policy::BuiltinFunctions::ProhibitReturnOr
For more information on module installation, please visit the detailed CPAN module installation guide.