develooper Front page | perl.perl5.porters | Postings from February 2017

Re: The tricky issue of do()

Thread Previous | Thread Next
Christian Walde
February 27, 2017 14:07
Re: The tricky issue of do()
Message ID:
On Mon, 27 Feb 2017 14:56:23 +0100, Sawyer X <> wrote:

>>> The point has been raised by haarg and leont that that might not be
>>> entirely straight-forward due to shared code between use/require, but i
>>> think in this case backwards compatibiliy should trump, even if the core
>>> code looks a little more ugly as a result.
>> Although I lean towards the backwards compatility camp, note that we can't
>> provide *exact* backcompat even if we wanted to: the old behaviour of do()
>> was strictly to search @INC, and @INC just happened often to have '.' as
>> its last member.
>> The most obvious backcompat strategy is to make 'do' always treat @INC as
>> having an implicit trailing '.' when loading a 'do' file; but this will
>> mean that code which explicitly removed '.' from @INC for security or
>> other reasons will suddenly have 'do' loading files from locations it
>> previously wouldn't have.
> This is why I believe a warning would be useful here instead.

And correction of the documentation, which was only correct for 99% of cases before, but after '.' removal would be correct for only 1%.

With regards,
Christian Walde

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About