Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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>

home | help