I understand from your answer that there is no equivalent of a "simple" include
There is, and it's require. Your requirements are more complex however, precluding one from any simple answer.

Firstly package main is only necessary to explicitly declare that you are in main's namespace, which all code is by default. So unless you have other package declarations it will be unncessary in your code.

Secondly, $main::dbh has not beeen assigned anywhere (or was defined somewhere, and undefined at a later point) which is why you get that second error message. Note that lexical variables are not the same as package variables, so if you have declared my $dbh in inc.pl then it will be undefined in main.pl (and does not exist as $main::dbh which is a package variable).

As for the first error message I imagine it is due to the fact you have declared $dbh as a lexical variable in inc.pl and it is falling out of scope which will call it's DESTROY method (destructor) and thereby trigger said error message as there has been no explicit disconnect.
HTH

_________
broquaint


In reply to Re: Re: Re: Re: Re: a simple include.... by broquaint
in thread a simple include.... by pcouderc

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.