The HTML::Defaultify Perl module is designed to allow CGI programmers to present forms with some fields filled in, which is handy for letting users correct bad input, show records to be edited, and much more. The main function, defaultify(), takes any block of HTML and a hash of field names and values, and returns the HTML with the form fields set to those values. Value lists for multiple same-named fields are supported, as are pages with multiple forms. Several different input formats are supported for compatibility with existing tools.
CGI::Application::Generator provides a means by which a CGI::Application-based module can be created from code, as opposed to being written by hand. This module is intended to create the shell of an application module, based on the specification you provide. It will not output a completely functional application without additional coding. It will, however, create the structural parts of your application common to all CGI::Application-based modules. This module is intended to ease the creation of new CGI::Application modules and to encourage standardization of CGI::Application coding styles.
Catalyst is a Web application framework for Perl. It is based on Maypole, and adds many features from Ruby on Rails, Struts, Spring, and Tomcat. The development philosophy focuses on Don't Repeat Yourself, Lego-like components, Code Generation, and very strong testability. It supports a number of plugins, models, views, and controllers.