Class::MakeMethods::Emulator - Demonstrate class-generator equivalency
# Equivalent to use Class::Singleton; use Class::MakeMethods::Emulator::Singleton; # Equivalent to use Class::Struct; use Class::MakeMethods::Emulator::Struct; struct ( ... ); # Equivalent to use Class::MethodMaker( ... ); use Class::MakeMethods::Emulator::MethodMaker( ... ); # Equivalent to use base 'Class::Inheritable'; use base 'Class::MakeMethods::Emulator::Inheritable'; MyClass->mk_classdata( ... ); # Equivalent to use base 'Class::AccessorFast'; use base 'Class::MakeMethods::Emulator::AccessorFast'; MyClass->mk_accessors(qw(this that whatever));
In several cases, Class::MakeMethods provides functionality closely equivalent to that of an existing module, and it is simple to map the existing module's interface to that of Class::MakeMethods.
Class::MakeMethods::Emulator provides emulators for Class::MethodMaker, Class::Accessor::Fast, Class::Data::Inheritable, Class::Singleton, and Class::Struct, each of which passes the original module's test suite, usually requiring only a single-line change.
More than demonstrating compatibility, these emulators also generally demonstrate the procedure for migrating to direct use of Class::MakeMethods.
You should be able to install this module using the CPAN shell interface:
perl -MCPAN -e 'install Class::MakeMethods::Emulator'
If this module has not yet been posted to your local CPAN mirror, you may also retrieve the current distribution from the below address and follow the normal "gunzip", "tar xf", "cd", "perl Makefile.PL && make test && sudo make install" procedure or your local equivalent:
http://www.evoscript.org/Class-MakeMethods/
This is the first release of these modules separated from the core Class::MakeMethods distribution. Please let me know if the upgrade causes you any difficulties.
There is not currently any offical discussion and support forum for this pacakage.
If you have questions or feedback about this module, please feel free to contact the author at the below address.
This is version 1.003 of Class::MakeMethods::Emulator.
See Class::MakeMethods::Emulator::Struct, included in this distribution, and Class::Struct, on CPAN.
See Class::MakeMethods::Emulator::AccessorFast, included in this distribution, and Class::Accessor::Fast, on CPAN.
See Class::MakeMethods::Emulator::Inheritable, included in this distribution, and Class::Data::Inheritable, on CPAN.
See Class::MakeMethods::Emulator::MethodMaker, included in this distribution, and Class::MethodMaker, on CPAN.
See Class::MakeMethods::Emulator::Singleton, included in this distribution, and Class::Singleton, on CPAN.
M. Simon Cavalletto, simonm@cavalletto.org Evolution Softworks, www.evoscript.org
Copyright 2002 Matthew Cavalletto.
Portions Copyright 2001 Evolution Online Systems, Inc.
Based on Class::Accessor::Fast, developed by Michael G Schwern. Portions Copyright 2000 Michael G Schwern.
Based on Class::Data::Inheritable, developed by Damian Conway and Michael G Schwern. Portions Copyright 2000 Damian Conway and Michael G Schwern.
Based on Class::MethodMaker, originally developed by Peter Seibel, Organic Online. Portions Copyright 2000 Martyn J. Pearce. Portions Copyright 1996 Organic Online
Based on Class::Singleton, developed by Andy Wardley, abw@cre.canon.co.uk. Portions 1998 Canon Research Centre Europe Ltd.
Based on Class::Struct.
You may use, modify, and distribute this software under the same terms as Perl.
To install Class::MakeMethods::Emulator, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Class::MakeMethods::Emulator
CPAN shell
perl -MCPAN -e shell install Class::MakeMethods::Emulator
For more information on module installation, please visit the detailed CPAN module installation guide.