NR> So, I want to extend an OO package. That's probably the wrong solution. A good rule of thumb is 'always prefer object composition over inheritance'. If you can't think of a good reason to extend a class, don't.
The ability within Perl to change the logic of an existing method in a class, or add methods to a class, is just another form of inheritance. NR> ... Okay. Also, this isn't really a question about OO purism so NR> if you want to rant about it please don't feel obliged to. OO is just a technique that helps you represent real-world problems more easily. I don't really know what you mean by OO purism, but you should look at you problem and decide what type of relationship you are trying to represent: 1. 'This NewThing is-an ExistingThing' (inheritance) or 2. 'This NewThing has-an ExistingThing' (composition) If you can't decided which relationship is appropriate, choose 'has-a' (composition). --Nigel