class::makemethods::utility::ref(3pm) [debian man page]
MakeMethods::Utility::Ref(3pm) User Contributed Perl Documentation MakeMethods::Utility::Ref(3pm)NAME
Class::MakeMethods::Utility::Ref - Deep copying and comparison
SYNOPSIS
use Class::MakeMethods::Utility::Ref qw( ref_clone ref_compare );
$deep_copy = ref_clone( $original );
$positive_zero_or_negative = ref_compare( $item_a, $item_b );
DESCRIPTION
This module provides utility functions to copy and compare arbitrary references, including full traversal of nested data structures.
REFERENCE
The following functions are provided:
ref_clone()
Make a recursive copy of a reference.
ref_compare()
Attempt to recursively compare two references.
If they are not the same, try to be consistent about returning a positive or negative number so that it can be used for sorting. The sort
order is kinda arbitrary.
SEE ALSO
See Class::MakeMethods for general information about this distribution.
See Ref for the original version of the clone and compare functions used above.
See Clone (v0.09 on CPAN as of 2000-09-21) for a clone method with an XS implementation.
The Perl6 RFP #67 proposes including clone functionality in the core.
See Data::Compare (v0.01 on CPAN as of 1999-04-24) for a Compare method which checks two references for similarity, but it does not provide
positive/negative values for ordering purposes.
perl v5.10.1 2004-09-06 MakeMethods::Utility::Ref(3pm)
Check Out this Related Man Page
MakeMethods::Emulator(3pm) User Contributed Perl Documentation MakeMethods::Emulator(3pm)NAME
Class::MakeMethods::Emulator - Demonstrate class-generator equivalency
SYNOPSIS
# 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));
# Equivalent to use accessors( ... );
use Class::MakeMethods::Emulator::accessors( ... );
# Equivalent to use mcoder( ... );
use Class::MakeMethods::Emulator::mcoder( ... );
DESCRIPTION
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,
Class::Struct, accessors, and mcoder, each of which passes the original module's test suite, usually requiring only the addition of a a
single line to each test, activating the emulation module.
Beyond demonstrating compatibility, these emulators also generally indicate the changes needed to switch to direct use of
Class::MakeMethods functionality, illustrate commonalities between the various modules, and serve as a source for new ideas that can be
integrated into Class::MakeMethods.
SEE ALSO
See Class::MakeMethods for general information about this distribution.
See Class::MakeMethods::Emulator::accessors, and accessors from CPAN.
See Class::MakeMethods::Emulator::Struct, and Class::Struct from CPAN.
See Class::MakeMethods::Emulator::AccessorFast, and Class::Accessor::Fast from CPAN.
See Class::MakeMethods::Emulator::Inheritable, and Class::Data::Inheritable from CPAN.
See Class::MakeMethods::Emulator::MethodMaker, and Class::MethodMaker from CPAN.
See Class::MakeMethods::Emulator::Singleton, and Class::Singleton from CPAN.
See Class::MakeMethods::Emulator::mcoder, and mcoder from CPAN.
perl v5.10.1 2004-09-06 MakeMethods::Emulator(3pm)