http://qs321.pair.com?node_id=375348


in reply to Re: Why is a hash the default "object" in oo perl?
in thread Why is a hash the default "object" in oo perl?

Inheritance in perl is a cooperative enterprise. Modules need to be designed to allow inheritance. Modules can also be designed to disallow inheritance. I don't know if the implementation has changed since then, but some time ago I had this problem with Bit::Vector.

I have had trouble figuring out which modules are designed to support inheritance. I end up looking at implementations to try to figure it out.

The 'hidden implementation' idea of OO isn't a reality in many common perl modules. To me this appears to be a side effect of the TIMTOWTDIness of perl OO.

When I am evaluating a module implementation with the idea that I might want to inherit from it, my favorite thing to find is a blessed hashref without a fancy OO-helper module. As Zaxo says, it is easy to use and works well.

It should work perfectly the first time! - toma