Hi,

I have (happily) compiled and configured Apache with mod_perl, mod_ssl,
mod_php and DSO.  Whee!

Now I am working on porting my scripts over...

I have always used strict and perl -w, so for the most part, I think I can
just pop my cgis in the /perl directory as Ive defined it in httpd.conf.

However, I had to implement some trickery for my scripts a while ago via
require/use and am having problems getting my scripts to work.

Heres what I did:
I had many scripts in one dir that shared many things; subroutines, global
variables and modules.  I wanted to clean things up, so I created a module
called global.pm structured like this:
-------------------
use strict;

## Local parameters
our $cgibin = "http://path/cgi-bin";;
our $htmldir = "/apache/htdocs"
our $a = "/some/path";
our $b = "/some/other/path";

## Common modules
use CGI qw(:standard);
use DBI;
use Data::Table;

## Custom stuff
require "/path/to/custom/script1.pl";
require "/path/to/custom/script2.pl";
1;
-------------------

The custom stuff scripts all end in 1;, and are loaded with my custom
subroutines.  For example, I have one called cgi.pl, that contains all subs
for cgi related tasks, i.e. checkUser(), which verifies a users cookie.

Each cgi simply calls 'use global;' and then off we go.  However, after
moving all this stuff into /perl, none of the subs in the custom .pl files
are found, I get a complaint:
Undefined Subroutine &Apache::ROOT::compar_2ecgi::checkUser called at .....

compare.cgi calls 'use global;' and then 'checkUser()'.  

What am I doing wrong with this?  Any ideas?  

Thanks!
Bryan

Reply via email to