Autoloads methods from a list of packages into the current package
package MyPackage; use base qw{Method::Autoload}
The Method::Autoload base class package is used to autoload methods from a list of packages where you may not know what methods are available until run time. A good use of this package is programming support for user contributed packages or user contributed plugins.
use MyPackage; my $object=MyPackage->new(%hash); #provides new and initialize methods $object->pushPackages("My::Bar"); #appends to "packages" array $object->unshiftPackages("My::Foo"); #prepends to "packages" array
use MyPackage; my $object=MyPackage->new(packages=>["My::Foo", "My::Bar"]); $object->foo; #from My::Foo $object->bar; #from My::Bar
my $object=MyPackage->new(%hash); my $object=MyPackage->new(package=>["My::Package1", "My::Package2"]);
Returns the current list of packages in the \*(L"packages\*(R" array.
my @package=$object->packages; #() my $package=$object->packages; #[]
Pushes packages on to the \*(L"packages\*(R" array.
$object->pushPackages("My::Bar"); $object->pushPackages(@packages);
Unshifts packages on to the \*(L"packages\*(R" array. Use this if you want to override a \*(L"default\*(R" package. Please use with care.
$object->unshiftPackages("My::Foo"); $object->unshiftPackages(@packages);
Returns a hash of autoloaded methods and the classes that they came from.
my %hash=$object->autoloaded; #() my $hash=$object->autoloaded; #{}
We define \s-1DESTROY\s0 in this package so that it does not call \s-1AUTOLOAD\s0 but you may overload this method in your package, if you need it. \s-1AUTOLOAD\s0 is a \*(L"global\*(R" method. Please review the limitations on inheriting this method.
my $subref=$object->autoload($class, $method);
DavisNetworks.com provides support services for all Perl applications including this package.
Michael R. Davis CPAN ID: MRDVT STOP, LLC domain=>michaelrdavis,tld=>com,account=>perl http://www.stopllc.com/
This program is free software licensed under the...
The BSD License
The full text of the license can be found in the \s-1LICENSE\s0 file included with this module.
Class::Std \s-1AUTOMETHOD\s0 method,