Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

exporter::lite(3pm) [debian man page]

Exporter::Lite(3pm)					User Contributed Perl Documentation				       Exporter::Lite(3pm)

NAME
Exporter::Lite - Lightweight exporting of variables SYNOPSIS
package Foo; use Exporter::Lite; # Just like Exporter. @EXPORT = qw($This That); @EXPORT_OK = qw(@Left %Right); # Meanwhile, in another piece of code! package Bar; use Foo; # exports $This and &That. DESCRIPTION
This is an alternative to Exporter intended to provide a lightweight subset of its functionality. It supports "import()", @EXPORT and @EXPORT_OK and not a whole lot else. Unlike Exporter, it is not necessary to inherit from Exporter::Lite (ie. no "@ISA = qw(Exporter::Lite)" mantra). Exporter::Lite simply exports its import() function. This might be called a "mix-in". Setting up a module to export its variables and functions is simple: package My::Module; use Exporter::Lite; @EXPORT = qw($Foo bar); now when you "use My::Module", $Foo and "bar()" will show up. In order to make exporting optional, use @EXPORT_OK. package My::Module; use Exporter::Lite; @EXPORT_OK = qw($Foo bar); when My::Module is used, $Foo and "bar()" will not show up. You have to ask for them. "use My::Module qw($Foo bar)". Methods Export::Lite has one public method, import(), which is called automaticly when your modules is use()'d. In normal usage you don't have to worry about this at all. import Some::Module->import; Some::Module->import(@symbols); Works just like "Exporter::import()" excepting it only honors @Some::Module::EXPORT and @Some::Module::EXPORT_OK. The given @symbols are exported to the current package provided they are in @Some::Module::EXPORT or @Some::Module::EXPORT_OK. Otherwise an exception is thrown (ie. the program dies). If @symbols is not given, everything in @Some::Module::EXPORT is exported. DIAGNOSTICS
'"%s" is not exported by the %s module' Attempted to import a symbol which is not in @EXPORT or @EXPORT_OK. 'Can't export symbol: %s' Attempted to import a symbol of an unknown type (ie. the leading $@% salad wasn't recognized). BUGS and CAVEATS Its not yet clear if this is actually any lighter or faster than Exporter. I know its at least on par. OTOH, the docs are much clearer and not having to say "@ISA = qw(Exporter)" is kinda nice. AUTHORS
Michael G Schwern <schwern@pobox.com> LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html SEE ALSO
Exporter, Exporter::Simple, UNIVERSAL::exports perl v5.10.0 2006-11-11 Exporter::Lite(3pm)

Check Out this Related Man Page

Sub::Exporter::Progressive(3)				User Contributed Perl Documentation			     Sub::Exporter::Progressive(3)

NAME
Sub::Exporter::Progressive - Only use Sub::Exporter if you need it SYNOPSIS
package Syntax::Keyword::Gather; use Sub::Exporter::Progressive -setup => { exports => [qw( break gather gathered take )], groups => { default => [qw( break gather gathered take )], }, }; # elsewhere # uses Exporter for speed use Syntax::Keyword::Gather; # somewhere else # uses Sub::Exporter for features use Syntax::Keyword::Gather 'gather', take => { -as => 'grab' }; DESCRIPTION
Sub::Exporter is an incredibly powerful module, but with that power comes great responsibility, er- as well as some runtime penalties. This module is a "Sub::Exporter" wrapper that will let your users just use Exporter if all they are doing is picking exports, but use "Sub::Exporter" if your users try to use "Sub::Exporter"'s more advanced features, like renaming exports, if they try to use them. Note that this module will export @EXPORT, @EXPORT_OK and %EXPORT_TAGS package variables for "Exporter" to work. Additionally, if your package uses advanced "Sub::Exporter" features like currying, this module will only ever use "Sub::Exporter", so you might as well use it directly. AUTHOR
frew - Arthur Axel Schmidt (cpan:FREW) <frioux+cpan@gmail.com> CONTRIBUTORS
ilmari - Dagfinn Ilmari Mannsaaker (cpan:ILMARI) <ilmari@ilmari.org> mst - Matt S. Trout (cpan:MSTROUT) <mst@shadowcat.co.uk> leont - Leon Timmermans (cpan:LEONT) <leont@cpan.org> COPYRIGHT
Copyright (c) 2012 the Sub::Exporter::Progressive "AUTHOR" and "CONTRIBUTORS" as listed above. LICENSE
This library is free software and may be distributed under the same terms as perl itself. perl v5.18.2 2013-10-28 Sub::Exporter::Progressive(3)
Man Page