Object Oriented Perl will say more about this subject than any of our posts or any known online documentation.
That being said, you should also check out the 'use fields' module. One of the bigger slowdowns for working with class modules is that most of them (for good reason) are based on hashes. The fields module lets you use pseudo-hashes instead. Pseudo-hashes look pretty much like normal hash references, but internally they're arrays, so they give faster access. Plus, using fields gives you better error-checking on field names, since a pseudo-hash'll raise an exception on a misspelled key.
stephen