You might want to take a look at CGI::Application as support for running such an application. You might also want to take a look at HTML::Template or Template Toolkit as possible ways to support the presentation of the forms.
These can be found on www.cpan.org by doing a search