in reply to There Are No Perl Scripts

Do you use OOP style code in your modules? If not, what convention do you use when you want one module to *inherit* from another module?

The difficulty (for me) encountered while trying to use inheritance and composition with non-OOP style modules is the only deficiency/annoyance I could anticipate with using this methodology on a wide scale.

Replies are listed 'Best First'.
Re^2: There Are No Perl Scripts
by Tuppence (Pilgrim) on Nov 19, 2004 at 21:29 UTC

    A large portion of my modules are indeed Object Oriented.

    I don't really see how that matters here though, and if I'm not using OOP I can't see wanting one module to inherit from another, as that is a core OOP-ism

    I have, however, run into times where I want the functionality of a non-OO module to be accessable in a OO fashion. In these cases, I usually write a OO wrapper for the module, in my namespace, making liberal use of Class::MethodMaker, that I then extend as needed.

    My advice when you need to do this is to keep the OO 'wrapper' module as light as possible (meaning it doesn't do anything the non-OO module doesn't do) and to extend that wrapper with yet another module that does what you need. This lets you keep pure-wrapper code away from your changes, and gives you another module to be happy that Devel::Cover gives you 100% on covering