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  -  PACKAGE::GENERATOR (3)

.ds Aq ’

NAME

Package::Generator - generate new packages quickly and easily

CONTENTS

VERSION

version 1.106

SYNOPSIS



    use Package::Generator;

    my $package = Package::Generator->new_package;
    ...



DESCRIPTION

This module lets you quickly and easily construct new packages. It gives them unused names and sets up their package data, if provided.

INTERFACE

    new_package



  my $package = Package::Generator->new_package(\%arg);



This returns the newly generated package. It can be called with no arguments, in which case it just returns the name of a pristene package. The base argument can be provided to generate the package under an existing namespace. A make_unique argument can also be provided; it must be a coderef which will be passed the base package name and returns a unique package name under the base name.

A data argument may be passed as a reference to an array of pairs. These pairs will be used to set up the data in the generated package. For example, the following call will create a package with a $foo set to 1 and a @foo set to the first ten counting numbers.



  my $package = Package::Generator->new_package({
    data => [
      foo => 1,
      foo => [ 1 .. 10 ],
    ]
  });



For convenience, isa and version arguments may be passed to new_package. They will set up @ISA, $VERSION, or &VERSION, as appropriate. If a single scalar value is passed as the isa argument, it will be used as the only value to assign to @ISA. (That is, it will not cause $ISA to be assigned; that wouldn’t be very helpful.)

    assign_symbols



  Package::Generator->assign_symbols($package, \@key_value_pairs);



This routine is used by "new_package" to set up the data in a package.

    package_exists



  ... if Package::Generator->package_exists($package);



This method returns true if something has already created a symbol table for the named package. This is equivalent to:



  ... if defined *{$package . ::};



It’s just a little less voodoo-y.

AUTHOR

Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2005 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.

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


perl v5.20.3 PACKAGE::GENERATOR (3) 2013-12-29

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