Hmmm... this sort of stuff falls over the 80/20 sweet spot for me. I would probably add a hook so sub-classes can customise how accessors/mutators are created. That way you could have:

package Foo; use base(Class::InsideOut::SetterGetter); sub new { bless [], shift }; my %Foo : Field(rw); package Bar; use base(Class::InsideOut::Lvalue); sub new { bless [], shift }; my %Bar : Field(rw); package main; my $foo = Foo->new; my $bar = Bar->new; $foo->set_foo(12); print $foo->get_foo, "\n"; $bar->bar = 42; print $bar->bar, "\n";

In reply to Re^9: Class::InsideOut - yet another riff on inside out objects. by adrianh
in thread Class::InsideOut - yet another riff on inside out objects. by adrianh

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":