Provided by: libsub-exporter-globexporter-perl_0.005-1_all bug

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.