Login
RT #69489 - ErrorHandling::RequireCheckingReturnValueOfEval false
authorTom Wyant <harryfmudd@comcast.net>
Fri, 15 Jul 2011 21:09:27 +0000 (21:09 +0000)
committerTom Wyant <harryfmudd@comcast.net>
Fri, 15 Jul 2011 21:09:27 +0000 (21:09 +0000)
commit55e36185d6760149cdf5025decff6b3063684007
treea72530d1f5b9e43af15c8085e011987404e5d49c
parent66815deafbb9522abb6f5e55480975ff120412a2
RT #69489 - ErrorHandling::RequireCheckingReturnValueOfEval false
positive

The issue is that the subject policy does not accept grep { eval ... }.
The failing code provided in the ticket was
    grep { ! eval "require $_" } @packages;
After a bit of thought (enough, I hope!) I decided that this was the
moral equivalent of
    foreach ( @packages ) {
        eval "require $_" and next;
...
    }
which is acceptable to this policy. So ...

This modification looks for both
    grep { eval ... } ...
and
    grep eval ... , ...
though it does not look quite as hard for the latter.
Changes
lib/Perl/Critic/Policy/ErrorHandling/RequireCheckingReturnValueOfEval.pm
t/ErrorHandling/RequireCheckingReturnValueOfEval.run