Hi fellow monks.

In the course of trying to figure out this issue (which I still think is a strange bug, not a problem with my admittedly lame code), I was perusing the CGI man page on CPAN, and found the following quote:

This module has grown large and monolithic. Furthermore it's doing many things, such as handling URLs, parsing CGI input, writing HTML, etc., that are also done in the LWP modules. It should be discarded in favor of the CGI::* modules, but somehow I continue to work on it.

I've found myself frustrated by the HTML code that CGI sometimes produces, as well as it's lack of XHTML compliance, and a few other issues that have cropped up over time. I have a huge project which depends on CGI.pm at this moment in time, although since I am committed to making the code it generates XHTML compliant, I will have to do something different soon. I was perusing the CGI::* and LWP modules, of which there are many, that seem to do overlapping things. One of the things I'm trying to control in this project is the number of required modules, since it's a generalized, open source project.

So my questions are: how many people still depend on CGI? How many have moved to using the other modules, and have you found that worthwhile? What are the best CGI::* modules to use that replace the functions of CGI? And which are the ones that can generate XHTML compliant code?

Thanks!

In reply to CGI versus CGI::* modules by michellem

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.