CGI.pm was a simple low- or mid-level framework. It has been deprecated. It is still supported for existing projects, but no one should start a new web project with it.

I'd like to address these points specifically because they will serve to reinforce some misunderstandings about CGI.pm if unchallenged.

Firstly, I don't think anyone would call CGI.pm a framework in the modern sense of the word. It is a module which implements the CGI protocol and is only one of several which do so. Some of the frameworks which you and your respondents have mentioned may even use CGI.pm as a frontend but it hardly qualifies as a framework in itself. Note that for smaller sites a framework might be neither necessary nor even desirable. There are of course pure CGI frameworks such as CGI::Application - perhaps this is what you were thinking of?

CGI.pm has not been deprecated. I cannot stress this enough. Some of its methods have been deprecated and with good reason - these are covered in the docs. However, the rest of the module is alive and well and is being maintained. It had 10 stable releases last year.

The thought that "no one should start a new web project with it" is misguided. Anyone thinking of starting a major new web project (multiple servers, distributed data, single-sign-on, etc.) will probably find it much easier to use a framework instead but for simpler scenarios CGI.pm or its equivalents can be very well suited indeed.

You might think of CGI.pm as the IRC of its field. It is eschewed by the hip crowd looking for the flashy new features but if used properly it can get the simple jobs done well and with the minimum of fuss.


In reply to Re: UP-TO-DATE Comparison of CGI Alternatives by hippo
in thread UP-TO-DATE Comparison of CGI Alternatives by iaw4

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.