I finally registered on this site after looking for some ideas about how to automagically generate accessors. I had spent a whole day trying to get Class::MakeMethods do what it is supposed to do, especially in relation to arrays.
See perl doesn't have a standard way of dealing with accessors and I've never liked the common $foo->bar, $foo->bar('some value') type of accessors. I like "Afforability Accessors", so $foo->get_bar and $foo->set_bar('some value'). I was encouraged by Damian Conway's view that best practice is to use get_ and set_. Yippee!
So I gave up on Class::MakeMethods and decided to play with Class::Accessor. Wow! What a module! It is simple and it does what it says on the package. It is even easy to change the way that 'get' and 'set' work.
Which brings me to another point. In perl people write setters that return the value being set. Surely, it would be better to return the object, because that way it is easy to chain accessors.