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

FreeBSD Manual Pages

  
 
  

home | help
No::Worries::Export(3)User Contributed Perl DocumentatioNo::Worries::Export(3)

NAME
       No::Worries::Export - symbol exporting without worries

SYNOPSIS
	 use No::Worries::Export qw(export_control);

	 sub foo () { ... }

	 our $bar = 42;

	 sub import : method {
	     my($pkg, %exported);
	     $pkg = shift(@_);
	     grep($exported{$_}++, qw(foo $bar));
	     export_control(scalar(caller()), $pkg, \%exported,	@_);
	 }

DESCRIPTION
       This module eases symbol	exporting by providing a simple	yet powerful
       alternative to the Exporter module.

       The symbols that	can be imported	are defined in a hash (the third
       argument	of export_control()), the key being the	symbol name and	the
       value being:

       o   a scalar: indicating	a normal symbol

       o   a code reference: to	be called at import time

       The normal symbols can be functions (such as "foo"), scalars (<$foo>),
       arrays (<@foo>) or hashes (<%foo>).

       All the normal symbols can be imported at once by using an asterisk in
       the import code:

	 use Foo qw(*);

       Alternatively, a	regular	expression can be given	to filter what to
       import:

	 # import "foo"	and all	the normal symbols starting with "bar"
	 use Foo qw(foo	/^bar/);

       The special symbols can be used to execute any code. For	instance:

	 # exporting module
	 our $backend =	"stdout";
	 sub import : method {
	     my($pkg, %exported);
	     $pkg = shift(@_);
	     $exported{syslog} = sub { $backend	= "syslog" };
	     export_control(scalar(caller()), $pkg, \%exported,	@_);
	 }

	 # importing code
	 use Foo qw(syslog);

       Finally,	anything looking like a	number will trigger a version check:

	 use Foo qw(1.2);
	 # will	trigger
	 Foo->VERSION(1.2);

       See UNIVERSAL for more information on the VERSION() mthod.

FUNCTIONS
       This module provides the	following function (not	exported by default):

       export_control(CALLERPKG, PKG, EXPORT, NAMES...)
	   control the symbols exported	by the module; this should be called
	   from	an "import" method

SEE ALSO
       Exporter, No::Worries.

AUTHOR
       Lionel Cons <http://cern.ch/lionel.cons>

       Copyright (C) CERN 2012-2019

perl v5.32.1			  2019-04-03		No::Worries::Export(3)

NAME | SYNOPSIS | DESCRIPTION | FUNCTIONS | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=No::Worries::Export&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help