# Super/Module.pm { package Super::Module; sub foo { print __PACKAGE__ . ': ' . __LINE__ . "\n"; } } 1; __END__ # Some/Module.pm package Some::Module; use Super::Module; our $VERSION = '0.1'; our @ISA = qw( Super::Module ); package Some::Module::YeWhoEnters; *Some::Module::YeWhoEnters = *Some::Module::YeWhoEnters = \@Super::Module::ISA; sub Some::Module::foo { my $class = shift; $class->SUPER::foo(); print __PACKAGE__ . ': ' . __LINE__ . "\n"; } 1; __END__ # test.pl use strict; use warnings; use Some::Module; Some::Module->foo(); __END__ Can't locate object method "foo" via package "Some::Module::YeWhoEnters" at Some/Module.pm line 15.