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.
base
make_unique
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.
data
$foo
@foo
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.)
isa
version
new_package
@ISA
$VERSION
&VERSION
$ISA
Package::Generator->assign_symbols($package, \@key_value_pairs);
This routine is used by "new_package" to set up the data in a package.
"new_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.
To install Package::Generator, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Package::Generator
CPAN shell
perl -MCPAN -e shell install Package::Generator
For more information on module installation, please visit the detailed CPAN module installation guide.