Installing Perl modules on Shared Hosting Platforms
For shared hosting platforms where you don't have your own Perl (i.e.,
you have access to Perl, but not your own copy such as you'd find in a
VPS or dedicated environment), you'll need to follow the instructions
in perlmodinstall (i.e., download the
module, unpack it, perl Makefile.PL PREFIX=~/myperl, make, make test,
make install). See 'perldoc perlmodinstall' for details. perlfaq8 also has some useful advice:
How do I keep my own module/library directory?
When you build modules, use the PREFIX option when gener-
ating Makefiles:
perl Makefile.PL PREFIX=/u/mydir/perl
then either set the PERL5LIB environment variable before
you run scripts that use the modules/libraries (see the
perlrun manpage) or say
use lib '/u/mydir/perl';
This is almost the same as
BEGIN {
unshift(@INC, '/u/mydir/perl');
}
except that the lib module checks for machine-dependent
subdirectories. See Perl's lib manpage for more information.
Rather than going through all your Perl programs and adding:
use lib qw(/usr/home/foo/myperl);
to the top of each program, you can set PERL5LIB in your Apache
process so that each time the CGI is run, it will find the right
module:
Put this in a Directory
block or .htaccess
file (I recommend your cgi-bin/.htaccess file since that's the only
place it will be run from):
SetEnvIf Request_URI "^/cgi-bin/" PERL5LIB=/usr/home/foo/myperl/lib/5.6.1:/usr/home/foo/myperl/lib/site_perl
This will add the correct paths to PERL5LIB whenever someone accesses
your cgi-bin directory.
Author: Scott Wiersdorf
Modified: Tue Feb 18 11:16:52 MST 2003