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

Inspired by previous discussions on using arrays with inside-out objects (inside-out objects using arrays?), I modified Object::InsideOut to allow the use of arrays (as well as hashes) for storing object field data.

I tested the performance of array-based Object::InsideOut objects on several platforms, and was impressed with the results: I got anywhere from 20% (Solaris) to 40% (ActivePerl) performance improvement for basic fetch and store operations over blessed-hash objects!

I hope this may prove to be sufficient incentive for some of my fellow monks to give Object::InsideOut a try. This lastest version is available on CPAN. Enjoy.

Update:
In addition to speed improvements, using arrays consumes less memory because Perl doesn't have to store hash keys for the object field data.

The programming effort for using hash-based inside-out objects and array-based inside-out objects is the same: You just use '@' instead of '%' when declaring your object data fields.

Update 2:
I just uploaded v1.01.00 which adds support for object serialization.

See New Module Announcement: Object::InsideOut for more discussion on Object::InsideOut.

Remember: There's always one more bug.