You really want a module rather than a require as it addresses the issues you are trying to solve. Simple Module Tutorial. For example then you could have a function like:

use vars '$dbh'; END{ $dbh->disconnect() if $dbh } sub connect { # connect database handle unless we have one already $dbh ||= DBI->connect.... }

Then in your code you just call connect() whenever and wherever you need a DBH. The first call to it $dbh will be undef so it will get initialized. After that the connect() function just returns the existing DBH. Bonus features include automatically disconnecting and only connecting if you have to.

cheers

tachyon


In reply to Re: CGI and require by tachyon
in thread CGI and require by snorks

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.