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

Re: The tricky issue of do()

Thread Previous | Thread Next
Dominic Hargreaves
February 27, 2017 14:54
Re: The tricky issue of do()
Message ID:
On Mon, Feb 27, 2017 at 03:07:47PM +0100, Christian Walde wrote:
> 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%.

I merged my doc patch from rt#130832 at the weekend. This should make
the documentation consistent with current behaviour. Of course, it would
need a further tweak if warnings were to be added.


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