MakeMethods::Docs::ReaUser3Contributed Perl DocumeMakeMethods::Docs::ReadMe(3)NAMEClass::MakeMethods::Docs::ReadMe - About Class::MakeMethods
DESCRIPTION
This is an updated release of Class::MakeMethods, for distribution
through CPAN.
This distribution includes the Class::MakeMethods::Template and
Class::MakeMethods::Emulator modules which were packaged sepearately in
some previous releases.
MOTIVATION
By passing arguments to "use Class::MakeMethods ..." 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.
DISTRIBUTION AND INSTALLATION
Version
This is Class::MakeMethods v1.010, intended for general use.
This module's CPAN registration should read:
Name DSLIP Description
------------------- ---------------------------------------------
Class::
::MakeMethods RdpOp Generate common types of methods
Prerequisites
In general, this module should work with Perl 5.003 or later, without
requring any modules beyond the core Perl distribution.
The following optional feature may not be available on some platforms:
· Class::MakeMethods::Attribute: The ":MakeMethod" subroutine
attribute requires Perl version 5.6 and the Attribute::Handlers
module (from CPAN).
· Class::MakeMethods::Template "--lvalue": The lvalue modifier
provided by the Template generator subclasses will only work on
Perl version 5.6 or later.
· 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.
Installation
You should be able to install this module using the CPAN shell
interface:
perl -MCPAN -e 'install Class::MakeMethods'
Alternately, you may retrieve this package from CPAN or from the
author's site:
· http://search.cpan.org/~evo/
· http://www.cpan.org/modules/by-authors/id/E/EV/EVO
· http://www.evoscript.org/Class-MakeMethods/dist/
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:
tar xzf Class-MakeMethods-*.tar.gz
cd Class-MakeMethods-*
perl Makefile.PL
make test && sudo make install
Thanks to the kind generosity of other members of the Perl community,
this distribution is also available repackaged in the FreeBSD "ports"
and Linux RPM 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 CPAN.
· http://www.freebsd.org/cgi/ports.cgi?query=Class-MakeMethods
· http://www.rpmfind.net/linux/rpm2html/search.php?query=perl-Class-MakeMethods
Tested Platforms
This release has been tested succesfully on the following platforms:
5.6.1 on darwin
Earlier releases have also tested OK on the following platforms:
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
Some earlier versions failed to "make test" on MSWin32, although a
forced installation would still work; that problem should be fixed in
the most recent releases.
You may also review the current test results from CPAN-Testers:
· http://testers.cpan.org/show/Class-MakeMethods.html
SUPPORT
Release Status
This module has been used in a variety of production systems and has
been available on CPAN for over two years, with several other
distributions dependant on it, so it would be fair to say that it is
fully released.
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.
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.
See Class::MakeMethods::Docs::ToDo for other outstanding issues and
development plans.
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.
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.
Bug reports that contain a failing test case are greatly appreciated,
and suggested patches will be promptly considered for inclusion in
future releases.
To report bugs via the CPAN web tracking system, go to
"http://rt.cpan.org/NoAuth/Bugs.html?Dist=Class-MakeMethods" or send
mail to "Dist=Class-MakeMethods#rt.cpan.org", replacing "#" with "@".
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 CPAN's ratings system:
· http://cpanratings.perl.org/rate/?distribution=Class-MakeMethods
For more general discussion, you may wish to post a message on
PerlMonks or the comp.lang.perl.misc newsgroup:
· http://www.perlmonks.org/index.pl?node=Seekers%20of%20Perl%20Wisdom
· http://groups.google.com/groups?group=comp.lang.perl.misc
CREDITS AND COPYRIGHT
Author
Developed by Matthew Simon Cavalletto at Evolution Softworks. More
free Perl software is available at "www.evoscript.org".
You may contact the author directly at "evo@cpan.org" or
"simonm@cavalletto.org".
Feedback and Suggestions
Thanks to the following people for bug reports, suggestions, and other
feedback:
Martyn J. Pearce
Scott R. Godin
Ron Savage
Jay Lawrence
Adam Spiers
Malcolm Cook
Terrence Brannon
Jared Rhine
Peter Chen
Mike Castle
Source Material
This package was inspired by the ground-breaking original closure-
generating method maker module:
Class::MethodMaker, by Peter Seibel.
Additional inspiration, cool tricks, and blocks of useful code for this
module were extracted from the following CPAN modules:
Class::Accessor, by Michael G Schwern
Class::Contract, by Damian Conway
Class::SelfMethods, by Toby Everett
Copyright
Copyright 2002, 2003 Matthew Simon Cavalletto.
Portions copyright 1998, 1999, 2000, 2001 Evolution Online Systems,
Inc.
Based on Class::MethodMaker, originally developed by Peter Seibel.
Portions Copyright 1996 Organic Online. Portions Copyright 2000 Martyn
J. Pearce.
Class::MakeMethods::Emulator::accessors is based on accessors. Portions
by Steve Purkis.
Class::MakeMethods::Emulator::AccessorFast is based on
Class::Accessor::Fast. Portions Copyright 2000 Michael G Schwern.
Class::MakeMethods::Emulator::Inheritable is based on
Class::Data::Inheritable. Portions Copyright 2000 Damian Conway and
Michael G Schwern.
Class::MakeMethods::Emulator::mcoder is based on mcoder. Portions
Copyright 2003 by Salvador Fandin~o.
Class::MakeMethods::Emulator::Singleton is based on Class::Singleton,
by Andy Wardley. Portions Copyright 1998 Canon Research Centre Europe
Ltd.
Class::MakeMethods::Utility::Ref is based on Ref.pm. Portions Copyright
1994 David Muir Sharnoff.
License
You may use, modify, and distribute this software under the same terms
as Perl.
perl v5.14.2 2004-09-06 MakeMethods::Docs::ReadMe(3)