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
Package::Generator(3) User Contributed Perl Documentation Package::Generator(3)

Package::Generator - generate new packages quickly and easily

version 1.106

    use Package::Generator;

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

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

  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.)

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

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

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

Ricardo SIGNES <rjbs@cpan.org>

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.

2013-12-29 perl v5.32.1

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

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