GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  NO::WORRIES::EXPORT (3)

.ds Aq ’

NAME

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

CONTENTS

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-2013

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 NO::WORRIES::EXPORT (3) 2013-05-21

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.