use strict; use warnings; @Foo::ISA = "Bar"; @Baz::ISA = "Quux"; sub Bar::phrenia { print "In Bar::phrenia\n" } sub Quux::phrenia { print "In Quux::phrenia\n" } package Foo; sub Baz::schizo { my $self = shift; $self->SUPER::phrenia(); } package main; my $obj = bless {}, "Baz"; $obj->schizo();