#!/usr/bin/perl my @pasture; my $animal; @pasture = qw(Cow Cow Horse Sheep Sheep Cow); foreach $animal (@pasture) { $animal->speak; } { package Cow; @ISA = qw(Animal); sub sound { "moooo" } } { package Horse; sub sound { "neigh" } sub speak { my $class = shift; print "a $class goes ", $class->sound, "!\n"; } } { package Sheep; sub sound { "baaaaaaaa" } sub speak { my $class = shift; print "a $class goes ", $class->sound, "!\n"; } } { package Animal; sub speak { my $class = shift; print "a $class goes ", $class->sound, "!\n" } }