Exporter::Tiny - an exporter with the features of Sub::Exporter but only core dependencies
| Use Case | Command | Description |
|---|---|---|
| Create an exporter module | package MyUtils; use base "Exporter::Tiny"; our @EXPORT = qw(frobnicate); sub frobnicate { ... } 1; | Define a module that exports subroutines |
| Import with renaming | use MyUtils "frobnicate" => { -as => "frob" }; | Import frobnicate as frob |
| Import with prefix | use MyUtils "frobnicate" => { -prefix => "my_" }; | Import frobnicate as my_frobnicate |
| Import with suffix | use MyUtils "frobnicate" => { -suffix => "_util" }; | Import frobnicate as frobnicate_util |
| Use explicit destination | use MyUtils "frobnicate" => { into => "Another::Pkg" }; | Install the imported sub into another package |
| Use custom installer | use MyUtils "frobnicate" => { installer => sub { ... } }; | Override the default installation mechanism |
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:
If you are trying to use a module that inherits from Exporter::Tiny, then look at:
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>.
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.
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)