NAME
Class::MakeMethods::Attribute - Declare generated subs
SYNOPSIS
package MyObject;
use Class::MakeMethods::Attribute 'Standard::Hash';
sub new :MakeMethod('new');
sub foo :MakeMethod('scalar');
sub bar :MakeMethod('scalar', { hashkey => 'bar_data' });
sub debug :MakeMethod('Standard::Global:scalar');
DESCRIPTION
This package allows common types of methods to be generated via a subroutine attribute declaration.
Adding the :MakeMethod() attribute to a subroutine declaration causes Class::MakeMethods to create and install a subroutine based on the :MakeMethod parameters.
In particular, the example presented in the SYNOPSIS is equivalent to the following Class::MakeMethods declaration:
package MyObject;
use Class::MakeMethods (
-MakerClass => 'Standard::Hash',
new => 'new',
scalar => 'foo',
scalar => [ 'bar_accessor', { hashkey => 'bar' } ],
'Standard::Global:scalar' => 'debug',
);
DIAGNOSTICS
- Can't apply MakeMethod attribute to %s declaration.
-
You can not use the
:MakeMethod
attribute with lexical or anonymous subroutine declarations. - No method type provided for MakeMethod attribute.
-
You called
:MakeMethod()
without the required method-type argument.
SEE ALSO
See Attribute::Handlers byÊDamian Conway
AUTHOR
Developed by:
M. Simon Cavalletto, Evolution Online Systems, simonm@evolution.com
Inspired by Attribute::Abstract and Attribute::Memoize by Marcel Grunauer.
LICENSE
This module is free software. It may be used, redistributed and/or modified under the same terms as Perl.
Copyright (c) 2001 Evolution Online Systems, Inc.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 100:
Non-ASCII character seen before =encoding in 'byÊDamian'. Assuming CP1252