package Animal; use base qw(Class::Virtual); use strict; use warnings; sub new { my $class = shift; # hash reference my $self = shift; bless $self, $class; return $self; } __PACKAGE__->virtual_methods(qw(get_sound get_color)); 1;