start page | rating of books | rating of authors | reviews | copyrights

Book HomeJava and XSLTSearch this book

8.5. AutoLoader

Delays the loading of functions until they are used. Each function is placed in a file that has the same name as the function, with an .al extension. The files are stored in a subdirectory of the auto/ directory that is named after the package. For example, the function GoodStuff::whatever is loaded from the file auto/GoodStuff/whatever.al. Should always be used and not require d.

A module using the AutoLoader has the special marker, _ _END_ _ prior to the declarations for the subroutine to be autoloaded. Any code before this marker is loaded and compiled when the module is used, but at the marker, Perl stops parsing the file.

Later, during execution, when a subroutine that isn't yet in memory is called, the AUTOLOAD function attempts to find it in a directory relative to the location of the module file. For example, if POSIX.pm is in the directory /usr/local/lib/perl5, then AutoLoader looks for POSIX subroutines in /usr/local/lib/perl5/auto/POSIX/*.al.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.