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