|all||If you dont provide an all tag yourself, Tidy::Exporter will generate one for you. It will contain all exportable symbols.|
|default||The default tag will be used if the user supplies no list to the use statement.|
|_map||With _map you should not use an array reference, but a hash reference. Here, you can rewrite symbols to other names or even define one on the spot by using a reference. You can foo => bar to export bar if foo is requested.|
Every symbol specified in a tags array, or used as a key in _maps hash is exportable.
You can export subs, scalars, arrays, hashes and typeglobs. Do not use an ampersand (&) for subs. All other types must have the proper sigil.
You can use either a symbol name (without the sigil if it is a sub, or with the appropriate sigil if it is not), or a tag name prefixed with a colon. It is possible to import a symbol twice, but a symbol is never exported twice under the same name, so you can use tags that overlap. If you supply any list to the use statement, :default is no longer used if not specified explicitly.
To avoid name clashes, it is possible to have symbols prefixed. Supply _prefix followed by the prefix that you want. Multiple can be used.
use Some::Module qw(foo bar), _prefix => some_, qw(quux);
imports Some::Module::foo as foo, Some::Module::bar as bar, and Some::Module::quux as some_quux. See the SYNOPSIS for more examples.
Exporter::Tidy versus Exporter
These numbers are valid for my Linux system with Perl 5.8.0. Your mileage may vary.
Exporting two symbols using no import list (@EXPORT and :default) is approximately 10% faster with Exporter. But if you use any tag explicitly, Exporter::Tidy is more than twice as fast (!) as Exporter.
Exporter is subclassed and gets its information from package global variables like @EXPORT, @EXPORT_OK and %EXPORT_TAGS.
Exporter::Tidy exports an import method and gets its information from the use statement.
Pick your favourite OSI approved license :)
Thanks to Aristotle Pagaltzis for suggesting the name Exporter::Tidy.
Juerd Waalboer <email@example.com> <http://juerd.nl/>
|perl v5.20.3||TIDY (3)||2015-01-06|