in reply to CGI::Application, have I made a big mistake.

Some would say that CGI::Application is for when you have multiple forms that are related in a linear fasion. For instance, a user registration form might have an initial form where they fill out basic information, a second form where the information is more in-depth, a third where they agree to the site's user agreement, and finally one where the complete data is submitted.

Personally, I think this can be extended into pages where the run modes share a lot of information (like database connections and templates) but the user wouldn't navigate the pages linearly. This is CGI::Application after all, and there are very few non-web applications that are so linear (outside of examples for beginning GUI programmers).

----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer

: () { :|:& };:

Note: All code is untested, unless otherwise stated