/usr/local/perl/lib/site_perl/5.8.5/Perl/Critic/Policy/Lax/ProhibitStringyEval/ExceptForRequire.pm |
Perl::Critic::Policy::Lax::ProhibitStringyEval::ExceptForRequire
version 0.006
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!
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:
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;
Ricardo SIGNES <rjbs@cpan.org>
Adapted from BuiltinFunctions::ProhibitStringyEval by Jeffrey Ryan Thalhammer
This code is copyright 2006, Ricardo SIGNES and Jeffrey Ryan Thalhammer.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
/usr/local/perl/lib/site_perl/5.8.5/Perl/Critic/Policy/Lax/ProhibitStringyEval/ExceptForRequire.pm |