Are you sure you're inheritance chain is being set up properly? use and base are compile-time directives, which means that it doesn't matter where they appear in your code, they'll be executed before your code runs. If it's running as expected, that is, you're able to find the inherited methods when you call them on an instance of your subclass, then I would think you've got some multiple inheritance going on. If you truly want those to be set at runtime, I'd use require and manually adjust the @ISA array.
"The dead do not recognize context" -- Kai, Lexx