Animal::speak('Cow'); #### use warnings; use strict; package Animal; { sub speak { my ($class) = @_; if ($class eq 'Cow'){ print "$class says moooo!\n"; } } sub run { my ($class) = @_; print "$class is running away!\n"; } } package Cow; { our @ISA = qw(Animal); } package Rooster; { our @ISA = qw(Animal); } package main; Cow->speak; Rooster->run; #### Cow says moooo! Rooster is running away!