You're using an old syntax there. I recommend that you read perldoc perlmod in a modern perl. It will help you would quite a bit.

As for the warnings, those variables are probably used somewhere in your "cfg.pl" program. The warning occurs because you have required that module (which happens are run time) and when Perl parses your CFG variables, it doesn't see (yet) that they've been used elsewhere. Hence the warning. There are several ways to get around this. One of the easier to implement and understand ways: (switching the old single quote package name delimiter to double colons):

use strict; use warnings; require "cfg.pl"; require "db.pl"; my $db; { no warnings 'once'; $db = new DB($CFG::SERVER, $CFG::DB, $CFG::USER, $CFG::DBPASSWD) };

(I assumed, possibly incorrectly, that the password was also from that file and you just typoed it.)

What I would recommend to deal with the is to convert your .pl files to proper modules and then use them. The syntax would then look something like:

use strict; use warnings; use Cfg; use Db; my $db = new DB($CFG::SERVER, $CFG::DB, $CFG::USER, $CFG::DBPASSWD);

There are a few other things to look at, but I think this is a good start.

Cheers,
Ovid

New address of my CGI Course.


In reply to Re: used only once warning by Ovid
in thread used only once warning by monktim

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.