The basic differences are the process model and the API. The process model for CGI is to fork a new perl interpreter every time a request comes in. For mod_perl, the interpreter is loaded into the web server process and stays there, which means there is no fork, and your scripts can stay in memory, and you can do things like keep database connections open to save time.

The other difference is the API. You have full access to the Apache API from mod_perl, which means you can do anything that other Apache modules in C can do: apply some filtering after a PHP script runs, use a custom data source for authentication, do a custom proxy to some internal server, etc.


In reply to Re: Wht is the difference between CGI and Mod_Perl by perrin
in thread Wht is the difference between CGI and Mod_Perl by veeruch

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.