Ancient
view release on metacpan or search on metacpan
t/lib/Dog.pm view on Meta::CPAN
package Dog;
use strict;
use warnings;
use parent 'Animal';
use slot qw(breed is_good_boy);
sub new {
my ($class, %args) = @_;
my $self = $class->SUPER::new(%args, species => 'dog');
breed($args{breed}) if exists $args{breed};
is_good_boy($args{is_good_boy} // 1); # All dogs are good boys by default
return $self;
}
sub bark {
return "Woof! My name is " . main::name();
}
sub describe {
my $self = shift;
my $base = $self->SUPER::describe();
return $base . " (" . (breed() // 'mixed') . " breed)";
}
1;
( run in 0.655 second using v1.01-cache-2.11-cpan-7f9471e7e0a )