It depends. If you don't call these very often, leave them as AUTOLOADs. If you do call them often, build them automatically in a BEGIN block. Why? So you can load them in startup.pl and share the memory between processes.
I need an AUTOLOAD since the attribute list can
change at runtime. But you're right, I should define the
common and repeatedly called accessors a compile time.