There are a plethora of modules for auto-generating accessor/mutator methods including Class::MethodMaker, Class::Struct, Class::Accessor, and several others. I've been through the documentation of the first three and just wanted to hear what people thought of each. Are there strong reasons (or any reasons, for that matter) for using one over the next? Are there others that one "must" consider?