perldoc > Exporter::Lite

๐Ÿ“› NAME

Exporter::Lite โ€” lightweight exporting of functions and variables

๐Ÿš€ Quick Reference

Use CaseCode / CommandDescription
๐Ÿ“ฆ Define default exportspackage Foo; use Exporter::Lite; our @EXPORT = qw($This That);Makes $This and That() automatically exported when using the module.
๐Ÿ“‹ Define optional exportsour @EXPORT_OK = qw(@Left %Right);Lets users optionally import @Left and %Right.
โฌ‡๏ธ Import all defaultsuse Foo;Imports every symbol from @EXPORT.
๐ŸŽฏ Import specific symbolsuse Foo qw($This);Imports only $This; any default exports are ignored unless listed.
๐Ÿงช Import optional + defaultuse Games qw(pacman galaga);Imports pacman (default) and galaga (optional); must list all desired symbols explicitly.

๐Ÿ“‹ SYNOPSIS

  package Foo;
  use Exporter::Lite;

  our @EXPORT    = qw($This That);      # default exports
  our @EXPORT_OK = qw(@Left %Right);    # optional exports

Then in code using the module:

  use Foo;
  # $This and &That are imported here

You have to explicitly ask for optional exports:

 use Foo qw/ @Left %Right /;

๐Ÿ“˜ DESCRIPTION

Exporter::Lite is an alternative to Exporter, intended to provide a lightweight subset of the most commonlyโ€‘used 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; i.e. you donโ€™t need to write:

 @ISA = qw(Exporter::Lite);

Exporter::Lite simply exports its import() function into your namespace. This might be called a โ€œmixโ€‘inโ€ or a โ€œroleโ€.

Setting up a module to export its variables and functions is simple:

    package My::Module;
    use Exporter::Lite;

    our @EXPORT = qw($Foo bar);

Functions and variables listed in the @EXPORT package variable are automatically exported if you use the module and donโ€™t explicitly list any imports. Now, when you use My::Module, $Foo and bar() will show up.

Optional exports are listed in the @EXPORT_OK package variable:

    package My::Module;
    use Exporter::Lite;

    our @EXPORT_OK = qw($Foo bar);

When My::Module is used, $Foo and bar() will not show up, unless you explicitly ask for them:

    use My::Module qw($Foo bar);

Note that when you specify one or more functions or variables to import, you must also explicitly list any of the default symbols you want to use. So if you have an exporting module:

    package Games;
    our @EXPORT    = qw/ pacman defender  /;
    our @EXPORT_OK = qw/ galaga centipede /;

Then if you want to use both pacman and galaga, you would write:

    use Games qw/ pacman galaga /;

๐Ÿ”ง Methods

Export::Lite has one public method, import(), which is called automatically 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 (i.e. the program dies).

If @symbols is not given, everything in @Some::Module::EXPORT is exported.

๐Ÿฉบ DIAGNOSTICS

๐Ÿ“š SEE ALSO

๐Ÿ“ฆ REPOSITORY

https://github.com/neilb/Exporter-Lite

โœ๏ธ AUTHORS

Michael G Schwern <schwern AT 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

Exporter::Lite
๐Ÿ“› NAME ๐Ÿš€ Quick Reference ๐Ÿ“‹ SYNOPSIS ๐Ÿ“˜ DESCRIPTION
๐Ÿ”ง Methods
๐Ÿฉบ DIAGNOSTICS ๐Ÿ“š SEE ALSO ๐Ÿ“ฆ REPOSITORY โœ๏ธ AUTHORS โš–๏ธ LICENSE

Generated by phpman v4.9.26-5-g7740029 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-16 10:16 @216.73.216.208
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^