DOKK / manpages / debian 13 / libmethod-autoload-perl / Method::Autoload.3pm.en
Method::Autoload(3pm) User Contributed Perl Documentation Method::Autoload(3pm)

Method::Autoload - 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 "packages" array.

  my @package=$object->packages; #()
  my $package=$object->packages; #[]

Pushes packages on to the "packages" array.

  $object->pushPackages("My::Bar");
  $object->pushPackages(@packages);

Unshifts packages on to the "packages" array. Use this if you want to override a "default" 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 DESTROY in this package so that it does not call AUTOLOAD but you may overload this method in your package, if you need it.

AUTOLOAD is a "global" 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 LICENSE file included with this module.

Class::Std AUTOMETHOD method,

2024-03-07 perl v5.38.2