NAME Class::Tie::InsideOut - Inside-out objects on the cheap using tied hashes REQUIREMENTS Perl 5.6.1, and Scalar::Util. INSTALLATION Installation can be done using the traditional Makefile.PL or the newer Build.PL methods. Using Makefile.PL: perl Makefile.PL make test make install (On Windows platforms you should use "nmake" instead.) Using Build.PL (if you have Module::Build installed): perl Build.PL perl Build test perl Build install SYNOPSIS package MyClass; use Class::Tie::InsideOut; our @ISA = qw( Class::Tie::InsideOut ); our %GoodKey; sub bad_method { my $self = shift; return $self->{BadKey}; # this won't work } sub good_method { my $self = shift; return $self->{GoodKey}; # %GoodKey is defined } DESCRIPTION This module is a proof-of-concept on of implementing inside-out objects using tied hashes. It makes use of the Tie::InsideOut package to tie hash keys to hashes in the calling package's namespace. Fields are accessed as hash keys, so in traditional Perl objects can be easily converted into inside-out objects. More information can be found in the module documentation. REVISION HISTORY A brief list of changes since the previous release: 0.05 Sat Feb 18 2006 - additional documentation - added Storable freeze, thaw and dclone tests - added TODO file - FIRSTKEY properly resets the each iterator - added SCALAR method - Tie::InsideOut is a Tie::Hash module - properly detects namespace for calls from within evals - added Storable hooks for serialization - improved handling of references to main namespace - removed UNTIE method - uses refaddr function for id rather than a counter - requires Scalar::Util - added keywords and resources to Build.PL for META.yml Incompatible changes are marked with a '*'. For a detailed history see the Changes file included in this distribution. SEE ALSO This module is a wrapper for Tie::InsideOut. There are various other inside-out object packages on CPAN. Among them: Class::InsideOut Object::InsideOut AUTHOR Robert Rothenberg Suggestions and Bug Reporting Feedback is always welcome. Please use the CPAN Request Tracker at http://rt.cpan.org to submit bug reports. LICENSE Copyright (c) 2006 Robert Rothenberg. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.