This may not be mod-perl related.

I wrote a module CGI::CommonObject which is a subclass of CGI.
If I preload them both in conf/startup.pl, error occurs when I try to 
instantiate CGI::CommonObject.

  bash$ perl test.pl
  Bareword found where operator expected at /www/perl/test.pl line 3, near
"new CGI::CommonObject"
          (Do you need to predeclare new?)
  [Tue Aug  1 18:51:06 2000] [error] syntax error at /www/perl/test.pl line
3, near "new CGI::CommonObject"

Where test.pl is simply

  #!/usr/bin/perl
  use CGI::CommonObject;
  my $q = new CGI::CommonObject;

And conf/startup.pl (irrelevant parts snipped)

  ...
  use CGI qw(-compile :standard);
  use CGI::CommonObject qw(:CommonObject);
  ...

The error gone if I don't preload CGI before CGI::CommonObject, or if I 
run the script under shell.

The question is what has confused perl that it treats "new" as a bareword?
I couldn't find any hints both in the code of CGI.pm and my own module.

Thanks,
Kenneth

Reply via email to