What are the pros and cons of an Inside-Out Object Model?
Pros:
Encapsulation of attributes: only the scope that defines the attributes can get at them.
Inheritance always works: the implementation isn't dependent on how a super class is implemented.
Multiple inheritance is potentially easier.
Cons:
It's more complex, you need for instance a DESTROY function.
By default, they don't work after splitting of threads, unless you set up a special CLONE method. (They should work fine if you only create objects after you've split up your threads).
Due to the encapsulation, you will need to do extra work when serializing.
There's far less documentation. "Everyone" still gets to learn hash based objects when learning OOP in Perl.