in reply to Overhead vs. ease of use in OOP

You're not the only person to feel this way, and kudos to you for building yourself this tool. (You might also take a look at Object::Lexical for a very different implementation that's attempting to address the same issue.)

However, I would join the other voices here in suggesting that it might be more practical to invest the time to become comfortable with the more common Perl-ish idioms... Writing $self->{foo} is easy enough, and producing accessor methods is also pretty straightforward.

Adopting common idioms may also help make your code more accessible to other people, and facilitate your comprehension of code written by them.