http://qs321.pair.com?node_id=279762

michellem has asked for the wisdom of the Perl Monks concerning the following question:

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!