Exporter::Simple - Easier set-up of module exports
package MyExport; use base 'Exporter::Simple'; our @bar : Exportable(vars) = (2, 3, 5, 7); our $foo : Exported(vars) = 42; our %baz : Exported = (a => 65, b => 66); sub hello : Exported(greet,uk) { "hello there" } sub askme : Exportable { "what you will" } sub hi : Exportable(greet,us) { "hi there" } # meanwhile, in a module far, far away use MyExport qw(:greet); print hello(); $baz{c} = 67;
This module, when subclassed by a package, allows that package to define exports in a more concise way than using Exporter. Instead of having to worry what goes in @EXPORT, @EXPORT_OK and %EXPORT_TAGS, you can use two attributes to define exporter behavior. This has two advantages: It frees you from the implementation details of Exporter, and it keeps the export definitions where they belong, with the subroutines and variables.
Exporter
@EXPORT
@EXPORT_OK
%EXPORT_TAGS
The attributes provided by this module are:
Exported
Indicates that the associated subroutine or global variable should be automatically exported. It will also go into the :all tag (per the rules of %EXPORT_TAGS), as well as any tags you specify as options of this attribute.
:all
For example, the following declaration
sub hello : Exported(greet,uk) { ... }
will cause hello() to be exported, but also be available in the tags :all, :greet and :uk.
hello()
:greet
:uk
Exportable
Is like Exported, except that the associated subroutine or global variable won't be automatically exported. It will still go to the :all tag in any case and all other tags specified as attribute options.
If you find any bugs or oddities, please do inform the author.
See perlmodinstall for information and options on installing Perl modules.
The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN site near you. Or see <http://www.perl.com/CPAN/authors/id/M/MA/MARCEL/>.
This document describes version 1.10 of Exporter::Simple.
Exporter::Simple
Marcel Grünauer <marcel@cpan.org>
Damian Conway <damian@conway.org>
Richard Clamp <richardc@unixbeard.net>
Copyright 2001-2002 Marcel Grünauer. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl(1), Attribute::Handlers(3pm), Exporter(3pm).
To install Exporter::Simple, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Exporter::Simple
CPAN shell
perl -MCPAN -e shell install Exporter::Simple
For more information on module installation, please visit the detailed CPAN module installation guide.