logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Method::Autoload - Autoloads methods from a list of packages into the current package

Author

         Michael R. Davis
         CPAN ID: MRDVT
         STOP, LLC
         domain=>michaelrdavis,tld=>com,account=>perl
         http://www.stopllc.com/

Bugs

       DavisNetworks.com provides support services for all Perl applications including this package.

Constructor

new
         my $object=MyPackage->new(%hash);
         my $object=MyPackage->new(package=>["My::Package1", "My::Package2"]);

   initialize

Description

       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.

Methods Private

DESTROY("Global"method)
       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("Global"method)
       AUTOLOAD is a "global" method.  Please review the limitations on inheriting this method.

   autoload
         my $subref=$object->autoload($class, $method);

Methods Public

packages
       Returns the current list of packages in the "packages" array.

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

   pushPackages
       Pushes packages on to the "packages" array.

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

   unshiftPackages
       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);

   autoloaded
       Returns a hash of autoloaded methods and the classes that they came from.

         my %hash=$object->autoloaded; #()
         my $hash=$object->autoloaded; #{}

Name

       Method::Autoload - Autoloads methods from a list of packages into the current package

See Also

       Class::Std AUTOMETHOD method,

perl v5.40.1                                       2025-08-14                              Method::Autoload(3pm)

Support

Synopsis

         package MyPackage;
         use base qw{Method::Autoload}

Usage

         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

See Also