I do not write applications very often, so I don't want to fill my head with the stuff needed to master a powerful "framework". CGI::Prototype::Hidden is small enough, and it is very easy to borrow from one application to another.
I love it because it allows me to create apps in my preferred sequence. Templates first: I want to define how I want to *use* the application. A pencil and a piece of paper are sufficient to draw the workflows between the templates. Test cases next: The starting screen (template) defines the params, the _state param defines the module, the "target screen" the expected output. Just use CGI.pm's command line capability and capture STDOUT. Then the modules, with appropriate returns for their target screens.
The POD sucks, compared to the Linux Mag article. Having to jump up and down the class inheritances is always annoying, but in this case it can be really misleading. Recommended practice in CGIP (like overriding render_enter) are actually a very bad idea in CGIPH.