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

Sub::Exporter::Progressive - Only use Sub::Exporter if you need it

Author

       Arthur Axel "fREW" Schmidt <Sub-Exporter-Progressive@afoolishmanifesto.com>

Contributors

       ilmari - Dagfinn Ilmari Mannsåker (cpan:ILMARI) <ilmari@ilmari.org>

       mst - Matt S. Trout (cpan:MSTROUT) <mst@shadowcat.co.uk>

       leont - Leon Timmermans (cpan:LEONT) <leont@cpan.org>

Description

       Sub::Exporter is an incredibly powerful module, but with that power comes great responsibility, er- as
       well as some runtime penalties.  This module is a "Sub::Exporter" wrapper that will let your users just
       use Exporter if all they are doing is picking exports, but use "Sub::Exporter" if your users try to use
       "Sub::Exporter"'s more advanced features, like renaming exports, if they try to use them.

       Note that this module will export @EXPORT, @EXPORT_OK and %EXPORT_TAGS package variables for "Exporter"
       to work.  Additionally, if your package uses advanced "Sub::Exporter" features like currying, this module
       will only ever use "Sub::Exporter", so you might as well use it directly.

Name

       Sub::Exporter::Progressive - Only use Sub::Exporter if you need it

Synopsis

        package Syntax::Keyword::Gather;

        use Sub::Exporter::Progressive -setup => {
          exports => [qw( break gather gathered take )],
          groups => {
            default => [qw( break gather gathered take )],
          },
        };

        # elsewhere

        # uses Exporter for speed
        use Syntax::Keyword::Gather;

        # somewhere else

        # uses Sub::Exporter for features
        use Syntax::Keyword::Gather 'gather', take => { -as => 'grab' };

Version

       version 0.001013

See Also