Don't pooh-pooh eval so quickly.
Class::MakeMethods and
Class::MethodMaker both use it to generate accessors. In the right situation, it's an essential tool.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?