1NAME
2 Class::MakeMethods::Docs::ReadMe - About Class::MakeMethods
3
4DESCRIPTION
5 This is an updated release of Class::MakeMethods, for distribution
6 through CPAN.
7
8 This distribution includes the Class::MakeMethods::Template and
9 Class::MakeMethods::Emulator modules which were packaged sepearately in
10 some previous releases.
11
12MOTIVATION
13 By passing arguments to "use Class::MakeMethods ..." statements, you can
14 select from a library of hundreds of common types of methods, which are
15 dynamically installed as subroutines in your module, simplifying the
16 code for your class.
17
18DISTRIBUTION AND INSTALLATION
19 Version
20
21 This is Class::MakeMethods v1.010, intended for general use.
22
23 This module's CPAN registration should read:
24
25 Name DSLIP Description
26 -------------- ----- ---------------------------------------------
27 Class::
28 ::MakeMethods RdpOp Generate common types of methods
29
30 Prerequisites
31
32 In general, this module should work with Perl 5.003 or later, without
33 requring any modules beyond the core Perl distribution.
34
35 The following optional feature may not be available on some platforms:
36
37 * Class::MakeMethods::Attribute: The ":MakeMethod" subroutine
38 attribute requires Perl version 5.6 and the Attribute::Handlers
39 module (from CPAN).
40
41 * Class::MakeMethods::Template "--lvalue": The lvalue modifier
42 provided by the Template generator subclasses will only work on Perl
43 version 5.6 or later.
44
45 * Some third-party tests used to check the compliance of Emulator
46 modules require Test::More and will be automatically skipped on
47 machines which do not have this installed.
48
49 Installation
50
51 You should be able to install this module using the CPAN shell
52 interface:
53
54 perl -MCPAN -e 'install Class::MakeMethods'
55
56 Alternately, you may retrieve this package from CPAN or from the
57 author's site:
58
59 * http://search.cpan.org/~evo/
60
61 * http://www.cpan.org/modules/by-authors/id/E/EV/EVO
62
63 * http://www.evoscript.org/Class-MakeMethods/dist/
64
65 After downloading the distribution, follow the normal procedure to
66 unpack and install it, using the commands shown below or their local
67 equivalents on your system:
68
69 tar xzf Class-MakeMethods-*.tar.gz
70 cd Class-MakeMethods-*
71 perl Makefile.PL
72 make test && sudo make install
73
74 Thanks to the kind generosity of other members of the Perl community,
75 this distribution is also available repackaged in the FreeBSD "ports"
76 and Linux RPM formats. This may simplify installation for some users,
77 but be aware that these alternate distributions may lag a few versions
78 behind the latest release on CPAN.
79
80 * http://www.freebsd.org/cgi/ports.cgi?query=Class-MakeMethods
81
82 * http://www.rpmfind.net/linux/rpm2html/search.php?query=perl-Class-Make
83 Methods
84
85 Tested Platforms
86
87 This release has been tested succesfully on the following platforms:
88
89 5.6.1 on darwin
90
91 Earlier releases have also tested OK on the following platforms:
92
93 IP30-R12000-irix
94 OpenBSD.i386-openbsd
95 i386-freebsd / i386-freebsd-thread-multi
96 i386-linux
97 i386-netbsd / i386-netbsd-thread-multi
98 i586-linux / i586-linux-thread-multi-ld
99 i686-linux / i686-pld-linux-thread-multi
100 ia64-linux
101 ppc-linux
102 sparc-linux
103 sparc-netbsd
104 sun4-solaris
105
106 Some earlier versions failed to "make test" on MSWin32, although a
107 forced installation would still work; that problem should be fixed in
108 the most recent releases.
109
110 You may also review the current test results from CPAN-Testers:
111
112 * http://testers.cpan.org/show/Class-MakeMethods.html
113
114SUPPORT
115 Release Status
116
117 This module has been used in a variety of production systems and has
118 been available on CPAN for over two years, with several other
119 distributions dependant on it, so it would be fair to say that it is
120 fully released.
121
122 However, while the commonly-used portions are well tested, some of the
123 more obscure combinations of options are less so, and new bug reports do
124 trickle in occasionally. If you do encounter any problems, please inform
125 the author and I'll endeavor to patch them promptly.
126
127 Additional features have been outlined for future development, but the
128 intent is support these by adding more options to the declaration
129 interface, while maintaining backward compatibility.
130
131 See the Class::MakeMethods::Docs::ToDo manpage for other outstanding
132 issues and development plans.
133
134 Support
135
136 If you have questions or feedback about this module, please feel free to
137 contact the author at the below address. Although there is no formal
138 support program, I do attempt to answer email promptly.
139
140 I would be particularly interested in any suggestions towards improving
141 the documentation and correcting any Perl-version or platform
142 dependencies, as well as general feedback and suggested additions.
143
144 Bug reports that contain a failing test case are greatly appreciated,
145 and suggested patches will be promptly considered for inclusion in
146 future releases.
147
148 To report bugs via the CPAN web tracking system, go to
149 "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Class-MakeMethods" or send
150 mail to "Dist=Class-MakeMethods#rt.cpan.org", replacing "#" with "@".
151
152 Community
153
154 If you've found this module useful or have feedback about your
155 experience with it, consider sharing your opinion with other Perl users
156 by posting your comment to CPAN's ratings system:
157
158 * http://cpanratings.perl.org/rate/?distribution=Class-MakeMethods
159
160 For more general discussion, you may wish to post a message on PerlMonks
161 or the comp.lang.perl.misc newsgroup:
162
163 * http://www.perlmonks.org/index.pl?node=Seekers%20of%20Perl%20Wisdom
164
165 * http://groups.google.com/groups?group=comp.lang.perl.misc
166
167CREDITS AND COPYRIGHT
168 Author
169
170 Developed by Matthew Simon Cavalletto at Evolution Softworks. More free
171 Perl software is available at "www.evoscript.org".
172
173 You may contact the author directly at "evo@cpan.org" or
174 "simonm@cavalletto.org".
175
176 Feedback and Suggestions
177
178 Thanks to the following people for bug reports, suggestions, and other
179 feedback:
180
181 Martyn J. Pearce
182 Scott R. Godin
183 Ron Savage
184 Jay Lawrence
185 Adam Spiers
186 Malcolm Cook
187 Terrence Brannon
188 Jared Rhine
189 Peter Chen
190 Mike Castle
191
192 Source Material
193
194 This package was inspired by the ground-breaking original
195 closure-generating method maker module:
196
197 Class::MethodMaker, by Peter Seibel.
198
199 Additional inspiration, cool tricks, and blocks of useful code for this
200 module were extracted from the following CPAN modules:
201
202 Class::Accessor, by Michael G Schwern
203 Class::Contract, by Damian Conway
204 Class::SelfMethods, by Toby Everett
205
206 Copyright
207
208 Copyright 2002, 2003 Matthew Simon Cavalletto.
209
210 Portions copyright 1998, 1999, 2000, 2001 Evolution Online Systems, Inc.
211
212 Based on Class::MethodMaker, originally developed by Peter Seibel.
213 Portions Copyright 1996 Organic Online. Portions Copyright 2000 Martyn
214 J. Pearce.
215
216 Class::MakeMethods::Emulator::accessors is based on accessors. Portions
217 by Steve Purkis.
218
219 Class::MakeMethods::Emulator::AccessorFast is based on
220 Class::Accessor::Fast. Portions Copyright 2000 Michael G Schwern.
221
222 Class::MakeMethods::Emulator::Inheritable is based on
223 Class::Data::Inheritable. Portions Copyright 2000 Damian Conway and
224 Michael G Schwern.
225
226 Class::MakeMethods::Emulator::mcoder is based on mcoder. Portions
227 Copyright 2003 by Salvador Fandi�o.
228
229 Class::MakeMethods::Emulator::Singleton is based on Class::Singleton, by
230 Andy Wardley. Portions Copyright 1998 Canon Research Centre Europe Ltd.
231
232 Class::MakeMethods::Utility::Ref is based on Ref.pm. Portions Copyright
233 1994 David Muir Sharnoff.
234
235 License
236
237 You may use, modify, and distribute this software under the same terms
238 as Perl.
239
240