8.66. 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 => [...]);
in which @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 |
Returns a list of symbols that couldn''''t be imported.
module_name->export_fail(failed_symbols)
The default method provided by Exporter returns the list unchanged.
Adds tagged sets of symbols to @EXPORT_OK.
export_ok_tags(taglist)
Adds tagged sets of symbols to @EXPORT.
export_tags(taglist)
Used when you can't use Exporter's
package->export_to_level(n, what_to_export)
import method directly. Takes the following arguments:
- n
- An integer specifying how far up the calling stack to export your
symbols - what_to_export
- Array of symbols to export, usually @_
The default import method.
import
Validates the version of module
module_name->require_version(value)
module_name, checking that it is at least
value.