in reply to Don't understand error messages

The syntax errors are caused by the missing commas in the my. This will also fix the "requires explicit package name" errors.

You said UCSExt.pm is in perl\lib. Did you mean c:\perl\lib? If so, you shouldn't be having any problems. It should work if the file is:
f:\perl\web\UCSExt.pm,
c:\perl\lib\UCSExt.pm or
c:\perl\site\lib\UCSExt.pm
If it's one of those three, then you must have a permission problem.

As an aside, a my that big is a sign of poor design. You should probably break things down into smaller functions.

Replies are listed 'Best First'.
Re^2: Don't understand error messages
by chriso (Sexton) on Jul 26, 2005 at 16:40 UTC
    The module is located in F:\perl\lib. I noticed that this path is not listed but then, my cgi.pm module is located in the same directory and I don't get an error for that.
    use CGI qw(:standard);
    Why the error for this module? I can put it in the f:\perl\web directory, but I thought it would be better to put it with the other modules. Any ideas?

    Thanks.

      See if this line helps:
      use lib 'F:\perl\lib';
      The module is located in F:\perl\lib

      Add use lib 'F:\perl\lib'; somewhere before use UCSExt. That will tell Perl to look for it where it currently resides.

      my cgi.pm module is located in the same directory

      You must have two CGI.pm, and you're not using the one you think you are using.

      Are you sure that you are using CGI.pm from F:\perl\lib and not from somewhere else in @INC? Try running this simple script:
      use CGI.pm; print "$INC{CGI.pm}\n";
      That will tell you were Perl is really getting CGI.pm from.

      Ivan Heffner
      Sr. Software Engineer, DAS Lead
      WhitePages.com, Inc.
        I ran the script and the page was blank. What does that mean?

        Chris