package class_insideout; use strict; use warnings; { use Object::InsideOut; my @name :Field :Arg(Name => 'name', 'Mandatory' => 1) :Std(Name => 'name'); my @address :Field :Arg(Name => 'address', 'Mandatory' => 1) :Std(Name => 'address'); sub _init :Init{ my ($self,$args) = @_; warn("I'm in the ".__PACKAGE__ ." _init\n"); return; } sub write { my ($self) = @_; print "name: ". $name[$$self] ."\n"; print "address: ". $address[$$self] ."\n"; } } 1;