package Animal::Dog; use base qw(Animal Class::Accessor); __PACKAGE__->follow_best_practice(); __PACKAGE__->mk_accessors(sound); __PACKAGE__->mk_ro_accessors(name); sub new { my $class = shift; my $self = $class->SUPER::new(@_); $self->{sound} = '"bark bark!"'; return $self; } 1;