Upstream changes:
5.67 Tue Sep 12 16:50 2008
- Added a test case for the bug that was fixed in 5.66_01,
courtesy of Christoph Lamprecht.
5.66_01 Tue Sep 2 14:40 2008
- Fix determination of the autosplit.ix in ugly edge cases.
Explanation:
If the module file isn't called $Foo.pm, but
something random, then the static substitution which
tries to determine the location of autosplit.ix fails.
Up until now, the substitution would fail, so AutoLoader
evaluated the module code again instead of falling back
searching the autosplit.ix in @INC. The code was there
but not triggered in some circumstances.
For an example error in a PAR context, run
pp --clean -e 'use Storable; retrieve("foo")'
and then ./a.out and which it explode.
The AutoLoader module works with the AutoSplit module and the
__END__ token to defer the loading of some subroutines until they
are used rather than loading them all at once.
To use AutoLoader, the author of a module has to place the definitions
of subroutines to be autoloaded after an __END__ token. (See
perldata.) The AutoSplit module can then be run manually to extract
the definitions into individual files auto/funcname.al.