in reply to multiple packages in one file and subroutine redefined warnings

The problem is that use base 'Package' loads Package.pm, which ends up redefining the functions you've already defined. When you use or require yourself (meaning, the file that you're in), you get that problem. You'd be better off just setting @ISA to 'A'.
_____________________________________________________
Jeff[japhy]Pinyan: Perl, regex, and perl hacker, who'd like a job (NYC-area)
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;