in reply to Global includes in cgi's

If you need to bring in code when your program first starts, then the best overall way is the use function, as jeffa pointed out above.

Be aware, however, that use requires a bareword argument; if you try something like this, it won't work:

my @files = qw(here there anywhere); foreach my $f (@files) { use $f; }
If all you need is to read in a file and execute it to change some variables, you can use "do". This will search for the file named in its argument in your @INC directories, read it, parse it, and execute it. Look at perldoc -f do for details and an excellent example, but here's a quickie. This allows you to change the contents of variables in a running Perl program by modifying another file (which is what I assume you want to do if you can't read them in from a database):
use vars qw($big_directory $lil_directory); # not 'my' do 'config_stuff.pl' or warn("Problem with config_stuff.pl"); Then, in <code>config_stuff.pl
:
$big_directory = '/some/where'; $lil_directory = '/some/place/else';
In other words, you can change the values of the variables by editing config_stuff.pl and executing the "do" again.

HTH