On Sun Mar 25 17:47:23 2012, SPROUT wrote:
Show quoted text> Module::Install tries to enable strict mode in the caller, but, due to
> a perl bug
> (<
https://rt.perl.org/rt3/Ticket/Display.html?id=70151>). Every ‘use’
> implies BEGIN { require
> ... ] and every require implies eval "...". And BEGIN { eval {
> strict->import } } didn’t work before,
> because of the eval. Now it does work in bleadperl.
>
> Since it has never actually enabled strict, it would be a backwards-
> incompatible change for it to
> do so now.
>
> So I would suggest simply removing the attempt to enable strictures.
It turns out that the stricture-enabling was moved to import() in version 0.95, so that’s when
it started enabling strict for modules that upgraded the bundled Module::Install.
All the affected modules are using older Module::Installs, otherwise they would have started
failing some time ago.
So now I don’t know what the best solution is. 0.95 was released only two years ago, so
maybe it is best to disable strictures in newer versions. If strictures are left in, they should
certainly be documented.
In any case, the affected distributions *all* need to be fixed somehow or another, either by
modifying/updating the bundled Module::Install, or by making the Makefile.PL strict-safe.