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 <https://github.com/tobyink/p5−exporter−tiny/issues>.
<https://exportertiny.github.io/>.
Simplified interface to this module: Exporter::Shiny.
Less tiny version, with more features: Exporter::Almighty.
Other interesting exporters: Sub::Exporter, Exporter.
Toby Inkster <[email protected]>.
This software is copyright (c) 2013−2014, 2017, 2022−2023 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.