.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "MakeMethods::Docs::ReadMe 3pm" .TH MakeMethods::Docs::ReadMe 3pm "2004-09-06" "perl v5.10.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Class::MakeMethods::Docs::ReadMe \- About Class::MakeMethods .SH "DESCRIPTION" .IX Header "DESCRIPTION" This is an updated release of Class::MakeMethods, for distribution through \&\s-1CPAN\s0. .PP This distribution includes the Class::MakeMethods::Template and Class::MakeMethods::Emulator modules which were packaged sepearately in some previous releases. .SH "MOTIVATION" .IX Header "MOTIVATION" By passing arguments to \*(L"use Class::MakeMethods ...\*(R" statements, you can select from a library of hundreds of common types of methods, which are dynamically installed as subroutines in your module, simplifying the code for your class. .SH "DISTRIBUTION AND INSTALLATION" .IX Header "DISTRIBUTION AND INSTALLATION" .SS "Version" .IX Subsection "Version" This is Class::MakeMethods v1.010, intended for general use. .PP This module's \s-1CPAN\s0 registration should read: .PP .Vb 4 \& Name DSLIP Description \& \-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& Class:: \& ::MakeMethods RdpOp Generate common types of methods .Ve .SS "Prerequisites" .IX Subsection "Prerequisites" In general, this module should work with Perl 5.003 or later, without requring any modules beyond the core Perl distribution. .PP The following optional feature may not be available on some platforms: .IP "\(bu" 4 Class::MakeMethods::Attribute: The \f(CW\*(C`:MakeMethod\*(C'\fR subroutine attribute requires Perl version 5.6 and the Attribute::Handlers module (from \s-1CPAN\s0). .IP "\(bu" 4 Class::MakeMethods::Template \f(CW\*(C`\-\-lvalue\*(C'\fR: The lvalue modifier provided by the Template generator subclasses will only work on Perl version 5.6 or later. .IP "\(bu" 4 Some third-party tests used to check the compliance of Emulator modules require Test::More and will be automatically skipped on machines which do not have this installed. .SS "Installation" .IX Subsection "Installation" You should be able to install this module using the \s-1CPAN\s0 shell interface: .PP .Vb 1 \& perl \-MCPAN \-e \*(Aqinstall Class::MakeMethods\*(Aq .Ve .PP Alternately, you may retrieve this package from \s-1CPAN\s0 or from the author's site: .IP "\(bu" 2 http://search.cpan.org/~evo/ .IP "\(bu" 2 http://www.cpan.org/modules/by\-authors/id/E/EV/EVO .IP "\(bu" 2 http://www.evoscript.org/Class\-MakeMethods/dist/ .PP After downloading the distribution, follow the normal procedure to unpack and install it, using the commands shown below or their local equivalents on your system: .PP .Vb 4 \& tar xzf Class\-MakeMethods\-*.tar.gz \& cd Class\-MakeMethods\-* \& perl Makefile.PL \& make test && sudo make install .Ve .PP Thanks to the kind generosity of other members of the Perl community, this distribution is also available repackaged in the FreeBSD \&\*(L"ports\*(R" and Linux \s-1RPM\s0 formats. This may simplify installation for some users, but be aware that these alternate distributions may lag a few versions behind the latest release on \s-1CPAN\s0. .IP "\(bu" 2 http://www.freebsd.org/cgi/ports.cgi?query=Class\-MakeMethods .IP "\(bu" 2 http://www.rpmfind.net/linux/rpm2html/search.php?query=perl\-Class\-MakeMethods .SS "Tested Platforms" .IX Subsection "Tested Platforms" This release has been tested succesfully on the following platforms: .PP .Vb 1 \& 5.6.1 on darwin .Ve .PP Earlier releases have also tested \s-1OK\s0 on the following platforms: .PP .Vb 12 \& IP30\-R12000\-irix \& OpenBSD.i386\-openbsd \& i386\-freebsd / i386\-freebsd\-thread\-multi \& i386\-linux \& i386\-netbsd / i386\-netbsd\-thread\-multi \& i586\-linux / i586\-linux\-thread\-multi\-ld \& i686\-linux / i686\-pld\-linux\-thread\-multi \& ia64\-linux \& ppc\-linux \& sparc\-linux \& sparc\-netbsd \& sun4\-solaris .Ve .PP Some earlier versions failed to \*(L"make test\*(R" on MSWin32, although a forced installation would still work; that problem should be fixed in the most recent releases. .PP You may also review the current test results from CPAN-Testers: .IP "\(bu" 2 http://testers.cpan.org/show/Class\-MakeMethods.html .SH "SUPPORT" .IX Header "SUPPORT" .SS "Release Status" .IX Subsection "Release Status" This module has been used in a variety of production systems and has been available on \s-1CPAN\s0 for over two years, with several other distributions dependant on it, so it would be fair to say that it is fully released. .PP However, while the commonly-used portions are well tested, some of the more obscure combinations of options are less so, and new bug reports do trickle in occasionally. If you do encounter any problems, please inform the author and I'll endeavor to patch them promptly. .PP Additional features have been outlined for future development, but the intent is support these by adding more options to the declaration interface, while maintaining backward compatibility. .PP See Class::MakeMethods::Docs::ToDo for other outstanding issues and development plans. .SS "Support" .IX Subsection "Support" If you have questions or feedback about this module, please feel free to contact the author at the below address. Although there is no formal support program, I do attempt to answer email promptly. .PP I would be particularly interested in any suggestions towards improving the documentation and correcting any Perl-version or platform dependencies, as well as general feedback and suggested additions. .PP Bug reports that contain a failing test case are greatly appreciated, and suggested patches will be promptly considered for inclusion in future releases. .PP To report bugs via the \s-1CPAN\s0 web tracking system, go to \&\f(CW\*(C`http://rt.cpan.org/NoAuth/Bugs.html?Dist=Class\-MakeMethods\*(C'\fR or send mail to \f(CW\*(C`Dist=Class\-MakeMethods#rt.cpan.org\*(C'\fR, replacing \f(CW\*(C`#\*(C'\fR with \f(CW\*(C`@\*(C'\fR. .SS "Community" .IX Subsection "Community" If you've found this module useful or have feedback about your experience with it, consider sharing your opinion with other Perl users by posting your comment to \s-1CPAN\s0's ratings system: .IP "\(bu" 2 http://cpanratings.perl.org/rate/?distribution=Class\-MakeMethods .PP For more general discussion, you may wish to post a message on PerlMonks or the comp.lang.perl.misc newsgroup: .IP "\(bu" 2 http://www.perlmonks.org/index.pl?node=Seekers%20of%20Perl%20Wisdom .IP "\(bu" 2 http://groups.google.com/groups?group=comp.lang.perl.misc .SH "CREDITS AND COPYRIGHT" .IX Header "CREDITS AND COPYRIGHT" .SS "Author" .IX Subsection "Author" Developed by Matthew Simon Cavalletto at Evolution Softworks. More free Perl software is available at \f(CW\*(C`www.evoscript.org\*(C'\fR. .PP You may contact the author directly at \f(CW\*(C`evo@cpan.org\*(C'\fR or \f(CW\*(C`simonm@cavalletto.org\*(C'\fR. .SS "Feedback and Suggestions" .IX Subsection "Feedback and Suggestions" Thanks to the following people for bug reports, suggestions, and other feedback: .PP .Vb 10 \& Martyn J. Pearce \& Scott R. Godin \& Ron Savage \& Jay Lawrence \& Adam Spiers \& Malcolm Cook \& Terrence Brannon \& Jared Rhine \& Peter Chen \& Mike Castle .Ve .SS "Source Material" .IX Subsection "Source Material" This package was inspired by the ground-breaking original closure-generating method maker module: .PP .Vb 1 \& Class::MethodMaker, by Peter Seibel. .Ve .PP Additional inspiration, cool tricks, and blocks of useful code for this module were extracted from the following \s-1CPAN\s0 modules: .PP .Vb 3 \& Class::Accessor, by Michael G Schwern \& Class::Contract, by Damian Conway \& Class::SelfMethods, by Toby Everett .Ve .SS "Copyright" .IX Subsection "Copyright" Copyright 2002, 2003 Matthew Simon Cavalletto. .PP Portions copyright 1998, 1999, 2000, 2001 Evolution Online Systems, Inc. .PP Based on Class::MethodMaker, originally developed by Peter Seibel. Portions Copyright 1996 Organic Online. Portions Copyright 2000 Martyn J. Pearce. .PP Class::MakeMethods::Emulator::accessors is based on accessors. Portions by Steve Purkis. .PP Class::MakeMethods::Emulator::AccessorFast is based on Class::Accessor::Fast. Portions Copyright 2000 Michael G Schwern. .PP Class::MakeMethods::Emulator::Inheritable is based on Class::Data::Inheritable. Portions Copyright 2000 Damian Conway and Michael G Schwern. .PP Class::MakeMethods::Emulator::mcoder is based on mcoder. Portions Copyright 2003 by Salvador Fandin\*~o. .PP Class::MakeMethods::Emulator::Singleton is based on Class::Singleton, by Andy Wardley. Portions Copyright 1998 Canon Research Centre Europe Ltd. .PP Class::MakeMethods::Utility::Ref is based on Ref.pm. Portions Copyright 1994 David Muir Sharnoff. .SS "License" .IX Subsection "License" You may use, modify, and distribute this software under the same terms as Perl.