in reply to How to do basic inheritance in Perl OO?

There's a number of problems in your code. First off, as has already been pointed out, you need to set @ISA to establish inheritence, either directly or with 'use base'. Second - this isn't valid Perl syntax:

   sub new : AGENT::new

I don't know what you thought that would do, but I doubt it's going to help! Finally, this won't work in most cases:

   $tools->SUPER::Callme();

In Perl, SUPER only works inside the sub-class's package. It looks like it should be evaluating $tool's @ISA but in fact it's evaluating @__PACKAGE__::ISA. In most cases this is what you want since you don't usually allow clients to skip up the inheritence tree, but in your example that would appear to be the case.

I suggest you slow down and pick up a good book on object-oriented Perl - "Programming Perl" or "Object Oriented Perl" are both good. You need to learn the basics before you start free-stylin'.

-sam