Author image Matthew Simon Cavalletto


Class::MixinFactory::InsideOutAttr - Method maker for inside out data


  package My::Class;
  use Class::MixinFactory::InsideOutAttr qw( foo bar baz );

  sub new { ... } 

  package main;

  My::Class->foo( 'Foozle' );
  print My::Class->foo();

  my $object = My::Class->new();

  $object->foo( 'Bolix' );
  print $object->foo();


A simple method maker with opaque data storage.


To generate accessor methods for your class, use this package and pass the desired method names to the use or import statement.

Generates get/set accessor methods which can store values for a class or its instances. Each method stores the values associated with various objects in an hash keyed by the object's stringified identity.


A DESTROY method is installed to remove data for expired objects from the storage hash. (If the DESTROY method is not called, your program will not release this data and memory will be wasted.)

If you implement your own DESTROY method, it should also call Class::MixinFactory::InsideOutAttr::destroy($self).


This class is used internally by Class::MixinFactory.

This is similar to the functionality provided by Class::MakeMethods::Template::InsideOut; for a more generalized approach to this issue see Class::MakeMethods.

For distribution, installation, support, copyright and license information, see Class::MixinFactory::ReadMe.