home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


8.48 Exporter

Implements a default import method for other modules to inherit if they don't want to define their own. If you are writing a module, you can do the following:

package 
Module
;
use Exporter ();
@ISA = qw(Exporter);

@EXPORT = qw(...);              
@EXPORT_OK = qw(...);           
%EXPORT_TAGS = (tag => [...]);
where @EXPORT is a list of symbols to export by default, @EXPORT_OK is a list of symbols to export on request, and %EXPORT_TAGS is a hash that defines names for sets of symbols. Names in %EXPORT_TAGS must also appear in @EXPORT or @EXPORT_OK .

Then Perl programs that want to use your module just say:

use 
Module
;                 # Import default symbols
use 
Module
 qw(...);         # Import listed symbols
use 
Module
 ();              # Do not import any symbols
The Exporter can handle specialized import lists. An import list is the list of arguments passed to the import method. If the first entry begins with ! , : , or / , the list is treated as a series of specifications that add to or delete from the list. A leading ! means delete, rather than add.

Symbol Meaning
[!] name

This name only

[!]:DEFAULT All names in @EXPORT
[!]: tag

All names in $EXPORT_TAGS{ tag } anonymous list

[!]/ pattern /

All names in @EXPORT and @EXPORT_OK that match pattern

Exporter methods are: