Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

package::generator(3) [centos man page]

Package::Generator(3)					User Contributed Perl Documentation				     Package::Generator(3)

NAME
Package::Generator - generate new packages quickly and easily VERSION
version 0.103 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>" BUGS
Please report any bugs or feature requests to "bug-package-generator@rt.cpan.org", or through the web interface at <http://rt.cpan.org>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. COPYRIGHT
Copyright 2006 Ricardo Signes, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.16.3 2009-07-09 Package::Generator(3)

Check Out this Related Man Page

Package::Reaper(3)					User Contributed Perl Documentation					Package::Reaper(3)

NAME
Package::Reaper - pseudo-garbage-collection for packages VERSION
version 0.103 SYNOPSIS
use Package::Generator; use Package::Reaper; { my $package = Package::Generator->new_package; my $reaper = Package::Reaper->new($package); ... } # at this point, $package stash has been deleted DESCRIPTION
This module allows you to create simple objects which, when destroyed, delete a given package. This lets you approximate lexically scoped packages. INTERFACE
new my $reaper = Package::Reaper->new($package); This returns the newly generated package reaper. When the reaper goes out of scope and is garbage collected, it will delete the symbol table entry for the package. package my $package = $reaper->package; This method returns the package which will be reaped. is_armed if ($reaper->is_armed) { ... } This method returns true if the reaper is armed and false otherwise. Reapers always start out armed. A disarmed reaper will not actually reap when destroyed. disarm $reaper->disarm; This method disarms the reaper, so that it will not reap the package when it is destoryed. arm $reaper->arm; This method arms the reaper, so that it will reap its package when it is destroyed. By default, new reapers are armed. AUTHOR
Ricardo SIGNES, "<rjbs@cpan.org>" BUGS
Please report any bugs or feature requests to "bug-package-generator@rt.cpan.org", or through the web interface at <http://rt.cpan.org>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. COPYRIGHT
Copyright 2006 Ricardo Signes, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.16.3 2009-07-09 Package::Reaper(3)
Man Page