{ package Animal;
sub speak {
my $class = shift;
print "a $class goes ", $class->sound, "!\n";
}
}
{ package Mouse;
@ISA = qw(Animal);
sub sound { "squeak" }
sub speak {
my $class = shift;
$class->SUPER::speak;
print "[but you can barely hear it!]\n";
}
}
Thus, SUPER::speak means to look in the current
package's @ISA for
speak, invoking the first one found if
there's more than one. In this case, you look in the
one and only base class, Animal, find
Animal::speak, and pass it
"Mouse" as its only parameter.
 |  |  |
8.7. Starting the Search from a Different Place |  | 8.9. What to Do with @_ |