Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sub::exporter::progressive(3) [mojave man page]

Sub::Exporter::Progressive(3)				User Contributed Perl Documentation			     Sub::Exporter::Progressive(3)

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' }; 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. AUTHOR
frew - Arthur Axel Schmidt (cpan:FREW) <frioux+cpan@gmail.com> CONTRIBUTORS
ilmari - Dagfinn Ilmari Mannsaaker (cpan:ILMARI) <ilmari@ilmari.org> mst - Matt S. Trout (cpan:MSTROUT) <mst@shadowcat.co.uk> leont - Leon Timmermans (cpan:LEONT) <leont@cpan.org> COPYRIGHT
Copyright (c) 2012 the Sub::Exporter::Progressive "AUTHOR" and "CONTRIBUTORS" as listed above. LICENSE
This library is free software and may be distributed under the same terms as perl itself. perl v5.18.2 2013-10-28 Sub::Exporter::Progressive(3)

Check Out this Related Man Page

Sub::Exporter::ForMethods(3pm)				User Contributed Perl Documentation			    Sub::Exporter::ForMethods(3pm)

NAME
Sub::Exporter::ForMethods - helper routines for using Sub::Exporter to build methods VERSION
version 0.091970 SYNOPSIS
In an exporting library: package Method::Builder; use Sub::Exporter::ForMethods qw(method_installer); use Sub::Exporter -setup => { exports => [ method => '_method_generator' ], installer => method_installer, }; sub _method_generator { my ($self, $name, $arg, $col) = @_; return sub { ... }; }; In an importing library: package Vehicle::Autobot; use Method::Builder method => { -as => 'transform' }; DESCRIPTION
The synopsis section, above, looks almost indistinguishable from any other use of Sub::Exporter, apart from the use of "method_installer". It is nearly indistinguishable in behavior, too. The only change is that subroutines exported from Method::Builder into named slots in Vehicle::Autobot will be wrapped in a subroutine called "Vehicle::Autobot::transform". This will insert a named frame into stack traces to aid in debugging. More importantly (for the author, anyway), they will not be removed by namespace::autoclean. This makes the following code work: package MyLibrary; use Math::Trig qw(tan); # uses Exporter.pm use String::Truncate qw(trunc); # uses Sub::Exporter's defaults use Sub::Exporter::ForMethods qw(method_installer); use Mixin::Linewise { installer => method_installer }, qw(read_file); use namespace::autoclean; ... 1; After MyLibrary is compiled, "namespace::autoclean" will remove "tan" and "trunc" as foreign contaminants, but will leave "read_file" in place. It will also remove "method_installer", an added win. EXPORTS
Sub::Exporter::ForMethods offers only one routine for export, and it may also be called by its full package name: method_installer This routine returns an installer suitable for use as the "installer" argument to Sub::Exporter. It updates the "@to_export" argument to wrap all code that will be installed by name in a named subroutine, then passes control to the default Sub::Exporter installer. AUTHOR
Ricardo Signes <rjbs@cpan.org> COPYRIGHT AND LICENSE
This software is copyright (c) 2009 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as perl itself. perl v5.10.1 2009-07-16 Sub::Exporter::ForMethods(3pm)
Man Page