in reply to Global program flow

First, thanks for using code tags. Or at least, I presume you did (I'm not a big enough hacker to figure out whether you used code or pre tags...). Lots of new users to the monastary seem to miss that. Minor nit: put your URL's in square brackets - they'll become links that way ;-)

Now to your burning question (although I'm not sure I'm a guru yet): all the way. Check out CGI::Application ... although I've said in the past that I think it's severely lacking in certain ways, I will not allow an implication that it is anywhere near as bad as without it. It is a revolutionary step from where CGI programming was without it. That said, nothing is perfect, so you may eventually find that it is too limiting in some ways. But you'll be able to move on with a much stronger base knowledge about how to normalise your CGI applications.