Subject: | BuiltinFunctions::ProhibitStringyEval dies on eval "#..."; |
When fed something like
eval "#...";
BuiltinFunctions::ProhibitStringyEval fails with the message
Can't call method "isa" on an undefined value at
.../Perl/Critic/Policy/BuiltinFunctions/ProhibitStringyEval.pm line 77.
This actually turned up in the wild, specifically at line 41 of
Date::Manip 5.54, which reads
# Determine if we're doing taint checking
$Date::Manip::NoTaint = eval { local $^W=0; eval("#" . substr($^X, 0,
0)); 1 };
I have made this critical because it's a fatal error, even though it is
one _extremely_ unlikely to be encountered in practice. The fix is
simple, and will be committed as soon as I can get it squared away.