NAME
   Class::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-Make
     Methods

 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 the Class::MakeMethods::Docs::ToDo manpage 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 "[email protected]" or
   "[email protected]".

 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 Fandi�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.