Exporter::Tiny(3) User Contributed Perl Documentation Exporter::Tiny(3)

Exporter::Tiny - an exporter with the features of Sub::Exporter but only core dependencies

package MyUtils;
use base "Exporter::Tiny";
our @EXPORT = qw(frobnicate);
sub frobnicate { ... }
1;

package MyScript;
use MyUtils "frobnicate" => { -as => "frob" };
print frob(42);
exit;

Exporter::Tiny supports many of Sub::Exporter's external-facing features including renaming imported functions with the "-as", "-prefix" and "-suffix" options; explicit destinations with the "into" option; and alternative installers with the "installer" option. But it's written in only about 40% as many lines of code and with zero non-core dependencies.

Its internal-facing interface is closer to Exporter.pm, with configuration done through the @EXPORT, @EXPORT_OK and %EXPORT_TAGS package variables.

If you are trying to write a module that inherits from Exporter::Tiny, then look at:

  • Exporter::Tiny::Manual::QuickStart
  • Exporter::Tiny::Manual::Exporting

If you are trying to use a module that inherits from Exporter::Tiny, then look at:

Exporter::Tiny::Manual::Importing

Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=Exporter-Tiny.

IRC: support is available through in the #moops channel on irc.perl.org http://www.irc.perl.org/channels.html.

Simplified interface to this module: Exporter::Shiny.

Other interesting exporters: Sub::Exporter, Exporter.

Toby Inkster <tobyink@cpan.org>.

This software is copyright (c) 2013-2014, 2017 by Toby Inkster.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
2020-06-21 perl v5.32.0