Class::MakeMethods::Autoload man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

MakeMethods::Autoload(User Contributed Perl DocumentatMakeMethods::Autoload(3)

NAME
       Class::MakeMethods::Autoload - Declare generated subs with AUTOLOAD

SYNOPSIS
	 package MyObject;
	 use Class::MakeMethods::Autoload 'Standard::Hash::scalar';

	 package main;
	 my $obj = bless {}, 'MyObject';

	 $obj->foo("Foozle");
	 print $obj->foo();

DESCRIPTION
       This package provides a generate-on-demand interface to
       Class::MakeMethods.

       When your class uses this package, it imports an AUTOLOAD function that
       resolves missing methods by using Class::MakeMethods to generate and
       install a standard type of method.

       You must specify the type of method to be generated by passing a single
       argument to your use Class::MakeMethods::Autoload statement, which can
       take any of these forms:

       ·   A Class::MakeMethods generator name and method type.

	   Here are three examples:

	     use Class::MakeMethods::Autoload 'Standard::Hash:scalar';

	     use Class::MakeMethods::Autoload 'Basic::Universal::no_op';

	     use Class::MakeMethods::Autoload
			   '::Class::MakeMethod::Composite::Global:array';

       ·   A reference to a subroutine which will be called for each requested
	   function name and which is expected to return the name of the
	   method generator to use.

	   Here's a contrived example which generates scalar accessors for
	   methods except those with a digit in their name, which are treated
	   as globals.

	     use Class::MakeMethods::Autoload sub {
	       my $name = shift;
	       ( $name =~ /\d/ ) ? 'Standard::Global::scalar'
				 : 'Standard::Hash::scalar'
	     };

       ·   A reference to a hash which defines which method type to use based
	   on the name of the requested method. If a key exists which is an
	   exact match for the requested function name, the associated value
	   is used; otherwise, each of the keys is used as a regular
	   expression, and the value of the first one that matches the
	   function name is used. (For regular expression matching, the keys
	   are tested in reverse length order, longest to shortest.)

	   Here's an example which provides a new() constructor, a DESTROY()
	   method that does nothing, and a wildcard match that provides scalar
	   accessors for all other Autoloaded methods:

	     use Class::MakeMethods::Autoload {
	       'new'	 => 'Standard::Hash::new',
	       '.*'	 => 'Standard::Hash::scalar',
	       'DESTROY' => 'Standard::Universal::no_op',
	     };

	   Here's a more sophisticated example which causes all-upper-case
	   method names to be generated as globals, those with a leading
	   upper-case letter to be generated as inheritable data methods, and
	   others to be normal accessors:

	     use Class::MakeMethods::Autoload {
	       'new'	 => 'Standard::Hash::new',
	       '.*'	 => 'Standard::Hash::scalar',
	       '[A-Z].*' => 'Standard::Inheritable::scalar',
	       '[A-Z0-9]+' => 'Standard::Global::scalar',
	       'DESTROY' => 'Standard::Universal::no_op',
	     };

DIAGNOSTICS
       The following warnings and errors may be produced when using
       Class::MakeMethods::Attribute to generate methods. (Note that this list
       does not include run-time messages produced by calling the generated
       methods, or the standard messages produced by Class::MakeMethods.)

       No default method type; can't autoload
	   You must declare a default method type, generally by passing its
	   name to a "use Class::MakeMethods::Autoload" statement, prior to
	   autoloading any methods.

       Construction of %s method %s failed to produce usable method
	   Indicates that Autoload succesfully called Class::MakeMethods->make
	   to generate the requested method, but afterwards was not able to
	   invoke the generated method. You may have selected an incompatible
	   method type, or the method may not have been installed sucesfully.

SEE ALSO
       See Class::MakeMethods for general information about this distribution.

       For distribution, installation, support, copyright and license
       information, see Class::MakeMethods::Docs::ReadMe.

perl v5.14.2			  2004-09-06	      MakeMethods::Autoload(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net