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.053 Wed Oct 25 2006

Incompatible changes are marked with a '*'. For a detailed history see the Changes file included in this distribution.

SEE ALSO

There are various other inside-out object packages on CPAN. Among them:

      Class::InsideOut
      Class::Std
      Object::InsideOut

AUTHOR

Robert Rothenberg <rrwo at cpan.org>

Acknowledgements

Thanks to Ovid (via Chromatic) and Steven Little for advice in PerlMonks on the namespace issues with Class::Accessor.

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.