use base Vehicle; @ISA = 'Vehicle'; #### my %valid = map { $_ => 1 } qw( Wheels Doors Color Passengers ); my %ro = map { $_ => 1 } qw( Wheels ); sub _read_only { my ($self, $option) = @_; return defined $ro{$option} ? 1 : 0; } #### sub _attributes { return { map { $_ => 1 } qw( Wheels Doors Color Passengers ) }; } sub _valid { my ($self, $attribute) = @_; return exists $self->_attributes()->{ $attribute }; }