For what it's worth I recommend CGI::Simple (code here) and HTML::Template. If you need to generate html code specifically then there are a bunch of CGI modules that'll help you create and fill in forms etc. The right one depends on what you're doing.

I'm not sure what this HTML.pm that you speak of is, but I'm sure it'd be useful too.

CGI::Simple.pm is a reworked version of CGI.pm which is clean, strict compliant and fast to load. It doesn't do all the CGI.pm does, as far as I know, as the HTML generation subroutines were left by the wayside (probably not a bad thing since you want to be using templates anyway).

I suspect that you'll find that "the best way" to go about CGI programming is to use the modules that do as much of the work for you as possible. We don't jump up and down on people here just because they didn't use CGI.pm, we jump up and down on them because they attempted (and failed) to write their own version of stuff that CGI.pm happens to do well. So long as you use a module that does what you need it to and is tested (and is hopefully above version 1.0) you're doing the right thing.

Hope it helps.

jarich


In reply to Re: CGI.pm vs. CGI modules by jarich
in thread CGI.pm vs. CGI modules by rruiz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.