I'd like to point you to a few posts I've made re: CGI::Application
. Not all of every post is relevant to you, but it's good stuff, nonetheless. In no particular order ...
I don't think you're leveraging the greatest benefit of CGI::Application which is the parent class. Each of these different apps should have their own CGI::App child class, using a set of parent classes which would be shared across all your different apps. That's where the reuse comes in.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?