FreeBSD Manual Pages
Sub::Exporter::GlobExpUserrContributed Perl DocuSub::Exporter::GlobExporter(3) NAME Sub::Exporter::GlobExporter - export shared globs with Sub::Exporter collectors VERSION version 0.005 SYNOPSIS First, you write something that exports globs: package Shared::Symbol; use Sub::Exporter; use Sub::Exporter::GlobExport qw(glob_exporter); use Sub::Exporter -setup => { ... collectors => { '$Symbol' => glob_exporter(Symbol => \'_shared_globref') }, }; sub _shared_globref { return \*Common } Now other code can import $Symbol and get their *Symbol made an alias to *Shared::Symbol::Common. If you don't know what this means or why you'd want to do it, you may want to stop reading now. The other class can do something like this: use Shared::Symbol '$Symbol'; print $Symbol; # prints the scalar entry of *Shared::Symbol::Common ...or... use Shared::Symbol '$Symbol' => { -as => 'SharedSymbol' }; print $SharedSymbol; # prints the scalar entry of *Shared::Symbol::Common ...or... my $glob; use Shared::Symbol '$Symbol' => { -as => \$glob }; print $$glob; # prints the scalar entry of *Shared::Symbol::Common OVERVIEW Sub::Exporter::GlobExporter provides only one routine, "glob_exporter", which may be called either by its full name or may be imported on request. my $exporter = glob_exporter( $default_name, $globref_locator ); The routine returns a collection validator that will export a glob into the importing package. It will export it under the name $default_name, unless an alternate name is given (as shown above). The glob that is installed is specified by the $globref_locator, which can be either the globref itself, or a reference to a string which will be called on the exporter For an example, see the "SYNOPSIS", in which a method is defined to produce the globref to share. This allows the glob-exporting package to be subclassed, so the subclass may choose to either re-use the same glob when exporting or to export a new one. If there are entries in the arguments to the globref-exporting collector other than those beginning with a dash, a hashref of them will be passed to the globref locator. In other words, if we were to write this: use Shared::Symbol '$Symbol' => { arg => 1, -as => 2 }; It would result in a call like the following: my $globref = Shared::Symbol->_shared_globref({ arg => 1 }); AUTHOR Ricardo Signes <rjbs@cpan.org> CONTRIBUTOR David Steinbrunner <dsteinbrunner@pobox.com> COPYRIGHT AND LICENSE This software is copyright (c) 2010 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.32.1 2015-11-05 Sub::Exporter::GlobExporter(3)
NAME | VERSION | SYNOPSIS | OVERVIEW | AUTHOR | CONTRIBUTOR | COPYRIGHT AND LICENSE
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Sub::Exporter::GlobExporter&sektion=3&manpath=FreeBSD+13.1-RELEASE+and+Ports>