I have a modperl site that accesses a number of modules. 
In my startup.pl I have:


#!/usr/bin/perl -w
use strict;
use lib('/path/to/my/installation'); # 'site' directory is here

use Apache::DBI;
use Apache::StatINC;
use site::customers;
use site::orders;
use site::products;
use site::base;

1;


None of the modules exports *any* symbols at all - all are called in 
the form:

$product=site::products->new(23);
$product->get('price');



First question:

If site::products calls functions from site::customers, do I need
a 'use site::customers' in site::products, when I have already
done a 'use' in my startup.pl?


Second question:

site::products contains the line:

@ISA=('site::base'); 

so that methods from site::base can be overridden in site::products.

Do I need a 'use site::base' in site::products for this to work 
correctly?



Third (unrelated) question.

Is $ENV{foo}='bar'; in startup.pl equivalent to PerlSetEnv foo bar
in httpd.conf?



-----------------------

Experience has shown that I *don't* need the 'use' statements anywhere
other than startup.pl - but I am not sure why, and would find some pointers
to a discussion of this very useful. I would also be interested to know that
if the 'use' statements *are* unnecessary, does including them add any extra
overhead of processing/memory??

Many thanks,


Chris Allen.





Reply via email to