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. This release includes the Class::MakeMethods::Template
11 and Class::MakeMethods::Emulator modules which were previously
12 distributed separately.
13
15 Here's the "elevator pitch" for this module:
16
17 By passing arguments to "use Class::MakeMethods ..." statements,
18 you can select from a library of hundreds of common types of
19 methods, which are dynamically generated and installed as
20 subroutines in your module, simplifying the code for your class.
21
23 Version
24 This is Class::MakeMethods v1.009, intended for general use.
25
26 This module's CPAN registration should read:
27
28 Name DSLIP Description
29 -------------- ----- ---------------------------------------------
30 Class::
31 ::MakeMethods RdpOp Generate common types of methods
32
33 Prerequisites
34 In general, this module should work with Perl 5.003 or later, without
35 requring any modules beyond the core Perl distribution.
36
37 The following optional feature may not be available on some platforms:
38
39 • Class::MakeMethods::Attribute: The ":MakeMethod" subroutine
40 attribute requires Perl version 5.6 and the Attribute::Handlers
41 module (from CPAN).
42
43 • Class::MakeMethods::Template "--lvalue": The lvalue modifier
44 provided by the Template generator subclasses will only work on
45 Perl version 5.6 or later.
46
47 • Some tests for the Emulator modules require Test::More and will be
48 automatically skipped on machines which do not have this installed.
49
50 Installation
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-MakeMethods
83
84 Tested Platforms
85 This release has been tested succesfully on the following platforms:
86
87 5.6.1 on darwin
88
89 Earlier releases have also tested OK on the following platforms:
90
91 IP30-R12000-irix
92 OpenBSD.i386-openbsd
93 i386-freebsd / i386-freebsd-thread-multi
94 i386-linux
95 i386-netbsd / i386-netbsd-thread-multi
96 i586-linux / i586-linux-thread-multi-ld
97 i686-linux / i686-pld-linux-thread-multi
98 ia64-linux
99 ppc-linux
100 sparc-linux
101 sparc-netbsd
102 sun4-solaris
103
104 Some earlier versions failed to "make test" on MSWin32, although a
105 forced installation would still work; that problem should be fixed in
106 the most recent releases.
107
108 You may also review the current test results from CPAN-Testers:
109
110 • http://testers.cpan.org/show/Class-MakeMethods.html
111
113 Release Status
114 This module has been used in a variety of production systems and has
115 been available on CPAN for over two years, with several other
116 distributions dependant on it, so it would be fair to say that it is
117 fully released.
118
119 However, while the commonly-used portions are well tested, some of the
120 more obscure combinations of options are less so, and new bug reports
121 do trickle in occasionally. If you do encounter any problems, please
122 inform the author and I'll endeavor to patch them promptly.
123
124 Additional features have been outlined for future development, but the
125 intent is support these by adding more options to the declaration
126 interface, while maintaining backward compatibility.
127
128 Known Problems
129 It does not appear to be possible to assign subroutine names to
130 closures within Perl. As a result, debugging output from Carp and
131 similar sources will show all generated methods as "ANON()" rather than
132 "YourClass::methodname()".
133
134 See Class::MakeMethods::Docs::ToDo for other outstanding issues and
135 development plans.
136
137 Support
138 If you have questions or feedback about this module, please feel free
139 to contact the author at the below address. Although there is no formal
140 support program, I do attempt to answer email promptly.
141
142 I would be particularly interested in any suggestions towards improving
143 the documentation, correcting any Perl-version or platform
144 dependencies, as well as general feedback and suggested additions.
145
146 Bug reports that contain a failing test case are greatly appreciated,
147 and suggested patches will be promptly considered for inclusion in
148 future releases.
149
150 To report bugs via the CPAN web tracking system, go to
151 "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Class-MakeMethods" or send
152 mail to "Dist=Class-MakeMethods#rt.cpan.org", replacing "#" with "@".
153
154 Community
155 If you've found this module useful or have feedback about your
156 experience with it, consider sharing your opinion with other Perl users
157 by posting your comment to CPAN's ratings system:
158
159 • http://cpanratings.perl.org/rate/?distribution=Class-MakeMethods
160
161 For more general discussion, you may wish to post a message on
162 PerlMonks or the comp.lang.perl.misc newsgroup:
163
164 • http://www.perlmonks.org/index.pl?node=Seekers%20of%20Perl%20Wisdom
165
166 • http://groups.google.com/groups?group=comp.lang.perl.misc
167
169 Author
170 Developed by Matthew Simon Cavalletto at Evolution Softworks. More
171 free 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 Thanks to the following people for bug reports, suggestions, and other
178 feedback:
179
180 Martyn J. Pearce
181 Scott R. Godin
182 Ron Savage
183 Jay Lawrence
184 Adam Spiers
185 Malcolm Cook
186 Terrence Brannon
187 Jared Rhine
188 Peter Chen
189 Mike Castle
190
191 Source Material
192 This package was inspired by the ground-breaking original closure-
193 generating method maker module:
194
195 Class::MethodMaker, by Peter Seibel.
196
197 Additional inspiration, cool tricks, and blocks of useful code for this
198 module were extracted from the following CPAN modules:
199
200 Class::Accessor, by Michael G Schwern
201 Class::Contract, by Damian Conway
202 Class::SelfMethods, by Toby Everett
203
204 Copyright
205 Copyright 2002, 2003 Matthew Simon Cavalletto.
206
207 Portions copyright 1998, 1999, 2000, 2001 Evolution Online Systems,
208 Inc.
209
210 Based on Class::MethodMaker, originally developed by Peter Seibel.
211 Portions Copyright 1996 Organic Online. Portions Copyright 2000 Martyn
212 J. Pearce.
213
214 Class::MakeMethods::Emulator::accessors is based on accessors. Portions
215 by Steve Purkis.
216
217 Class::MakeMethods::Emulator::AccessorFast is based on
218 Class::Accessor::Fast. Portions Copyright 2000 Michael G Schwern.
219
220 Class::MakeMethods::Emulator::Inheritable is based on
221 Class::Data::Inheritable. Portions Copyright 2000 Damian Conway and
222 Michael G Schwern.
223
224 Class::MakeMethods::Emulator::mcoder is based on mcoder. Portions
225 Copyright 2003 by Salvador Fandiño.
226
227 Class::MakeMethods::Emulator::Singleton is based on Class::Singleton,
228 by Andy Wardley. Portions Copyright 1998 Canon Research Centre Europe
229 Ltd.
230
231 Class::MakeMethods::Utility::Ref is based on Ref.pm. Portions Copyright
232 1994 David Muir Sharnoff.
233
234 License
235 You may use, modify, and distribute this software under the same terms
236 as Perl.
237
239 Hey! The above document had some coding errors, which are explained
240 below:
241
242 Around line 275:
243 Non-ASCII character seen before =encoding in 'Fandiño.'. Assuming
244 CP1252
245
246
247
248perl v5.34.0 2022-01-21 MakeMethods::Docs::ReadMe(3)