logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

UNIVERSAL::exports - Lightweight, universal exporting of variables

Authors

       Michael G Schwern <schwern@pobox.com>

Bugs And Issues

       Please report bugs and issues via <http://rt.cpan.org>

Description

       This is an alternative to Exporter intended to provide a universal, lightweight subset of its
       functionality.  It uses Exporter::Lite, so look there for details.

       Additionally, exports() is provided to find out what symbols a module exports.

       UNIVERSAL::exports places its methods in the UNIVERSAL namespace, so there is no need to subclass from
       it.

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).

Methods

       UNIVERSAL::exports has two public methods, import() derived from Exporter::Lite, and exports().

       import
             Some::Module->import;
             Some::Module->import(@symbols);

           This is Exporter::Lite's import() method.  Look in Exporter::Lite for details.

       exports
             @exported_symbols = Some::Module->exports;
             Some::Module->exports($symbol);

           Reports  what  symbols  are exported by Some::Module.  With no arguments, it simply returns a list of
           all exportable symbols.  Otherwise, it reports if it will export a given $symbol.

Name

       UNIVERSAL::exports - Lightweight, universal exporting of variables

See Also

       Other ways to Export: Exporter, Exporter::Lite, Sub::Exporter, Exporter::Simple

       The Perl 6 RFC that started it all:  <http://dev.perl.org/rfc/257.pod>

       More UNIVERSAL magic:  UNIVERSAL::require

perl v5.40.0                                       2024-08-25                            UNIVERSAL::exports(3pm)

Synopsis

         package Foo;
         use UNIVERSAL::exports;

         # 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.

See Also