Perl::Critic::Policy::Lax::ProhibitStringyEval::ExceptForRequire - stringy eval is bad, but it's okay just to "require"
version 0.011
Sure, everybody sane agrees that stringy eval is usually a bad thing, but sometimes you need it, and you don't want to have to stick a no critic on the end, because dangit, what you are doing is just not wrong!
eval
no critic
See, require is busted. You can't pass it a variable containing the name of a module and have it look through @INC. That has lead to this common idiom:
require
@INC
eval qq{ require $module } or die $@;
This policy acts just like BuiltinFunctions::ProhibitStringyEval, but makes an exception when the content of the string is PPI-parseable Perl that looks something like this:
require $module require $module[2]; use $module (); 1;
Then again, maybe you should use Module::Runtime.
Ricardo Signes <rjbs@cpan.org>
This software is copyright (c) 2014 by Ricardo Signes <rjbs@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Perl::Critic::Lax, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Perl::Critic::Lax
CPAN shell
perl -MCPAN -e shell install Perl::Critic::Lax
For more information on module installation, please visit the detailed CPAN module installation guide.