package Simple::Child; use Carp; use lib "."; use Simple; @ISA = qw (Simple); use vars qw ($AUTOLOAD); { my %_attr_data = ( "_foo" => [ "bar", "rw" ], ); sub _accessible { my ($self, $attr, $mode) = @_; return $_attr_data{$attr}[1] =~ /$mode/ if exists $_attr_data{$attr}; return $self->SUPER::_accessible($attr,$mode); } sub _default_for { my ($self, $attr) = @_; return $_attr_data{$attr}[0] if exists $_attr_data{$attr}; return $self->SUPER::_default_for($attr); } sub _standard_keys { my ($self) = @_; ($self->SUPER::_standard_keys(), keys %_attr_data); } sub yip { my ($self) = @_; print "yip! yip!\n"; } } 1;