in reply to HTML forms

Don't be scared by those core modules. Although CGI.pm probably has more function calls than most of other core modules, and tend to scare people, it is actually nothing more than a bunch of functions, which take parameters and generate HTML format strings. Just as you are able to concatnate HTML strings returned from various CGI.pm function calls, it is quite obvious that you can mix your own HTML format string with them.