Short answer is "you can't really", at least for vanilla CGI. Every request that's dispatched by your CGI program is a separate process which services the request and then exits. Having said that, you do have options but they require more than just setting up a CGI does.

One option is to move to something like FastCGI or mod_perl, which keep a persistent perl interpreter around which can keep database connections around (see also Apache::DBI for the later).

Another is to use some form of connection caching in your database if it supports it (e.g. pgpool for Postgres).

The problem with these two approaches is that they may not be available if you're using some sort of vanilla lowest-common-denominator web hosting (although FastCGI does seem to be getting more support since Ruby on Rails can use it, so there may be hope).


In reply to Re: How to cache a socket in cgi programming? by Fletch
in thread How to cache a socket in cgi programming? by ablmf

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.