Lines Matching defs:AutoLoader

1 package AutoLoader;
127 if ($pkg eq 'AutoLoader') {
185 AutoLoader - load subroutines only on demand
190 use AutoLoader 'AUTOLOAD'; # import the default AUTOLOAD subroutine
193 use AutoLoader; # don't import AUTOLOAD, define our own
196 $AutoLoader::AUTOLOAD = "...";
197 goto &AutoLoader::AUTOLOAD;
202 The B<AutoLoader> module works with the B<AutoSplit> module and the
206 To use B<AutoLoader>, the author of a module has to place the
211 B<AutoLoader> implements an AUTOLOAD subroutine. When an undefined
212 subroutine in is called in a client module of B<AutoLoader>,
213 B<AutoLoader>'s AUTOLOAD subroutine attempts to locate the subroutine in a
216 F</usr/local/lib/perl5/POSIX.pm>, B<AutoLoader> will look for perl
234 The AutoSplit and B<AutoLoader> modules automate the creation of forward
237 AutoLoader module is 'use'd it loads these declarations into its callers
240 Because of this mechanism it is important that B<AutoLoader> is always
243 =head2 Using B<AutoLoader>'s AUTOLOAD Subroutine
245 In order to use B<AutoLoader>'s AUTOLOAD subroutine you I<must>
248 use AutoLoader 'AUTOLOAD';
250 =head2 Overriding B<AutoLoader>'s AUTOLOAD Subroutine
254 and then fallback to B<AutoLoader>'s AUTOLOAD for the rest.
256 Such modules should I<not> import B<AutoLoader>'s AUTOLOAD subroutine.
260 use AutoLoader;
269 $AutoLoader::AUTOLOAD = $sub;
270 goto &AutoLoader::AUTOLOAD;
281 AutoLoader's AUTOLOAD subroutine (because it doesn't have any AutoSplit
282 subroutines), then that module should not use B<AutoLoader> at all.
287 using B<AutoLoader> will not be visible to auto-loaded subroutines, due to
290 B<AutoLoader>.
298 =head2 Not Using AutoLoader
300 You can stop using AutoLoader by simply
302 no AutoLoader;
304 =head2 B<AutoLoader> vs. B<SelfLoader>
306 The B<AutoLoader> is similar in purpose to B<SelfLoader>: both delay the
316 B<AutoLoader> only reads code as it is requested, and in many cases
319 B<AutoSplit> automatically if B<AutoLoader> is used in a module source
325 old modules which use B<AutoLoader> should be changed to the new calling
327 the explicit C<'AUTOLOAD'> import if needed, and removing B<AutoLoader>
335 AutoLoader may fail to find the autosplit files (or even find the wrong