The simple and common approach is to store properties as keys in a hash but this leads to hard-to-find bugs resulting from typos in hash keys. Generating accessors is an effective way to eliminate that class of error.
Have you already tried to use fields;?
Not that I dislike accessors, but I think this is not the exact reason why they're good.