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";