package Bar; use Exporter; @Bar::ISA=qw(Exporter); @Bar::EXPORT=qw(new method2); sub override_Foo { package Foo; # how dare we! Bar->import; } 1; # and in main: use Foo; use Bar; Bar->override_Foo();