25 Sep 2007

Install a Perl Module on a Shared Host
  1. Setup cpan:

     $ mkdir ~/perl
     $ mkdir -p ~/.cpan/CPAN  
     $ touch ~/.cpan/CPAN/MyConfig.pm  
     $ cpan
     cpan> o conf init
    

    Set the following settings:

     'cpan_home' => q[/home/username/.cpan],  
     'build_dir' => q[/home/username/.cpan/build]  
     'keep_source_where' => q[/home/username/.cpan/sources],  
     'mbuildpl_arg' => q[--install_base /home/username/perl]
    
  2. Get and Install the Module

     $ cpan force install Module::Name           
    
  3. Make sure Perl can find your modules

    Add this line in each of your Perl scripts (change perl version accordingly):

     use lib '/home/your_username/perl/lib/perl5/site_perl/5.8.7';
    

    OR rather than editing all your Perl scripts, in your cgi-bin/.htaccess file:

     SetEnvIf Request\_URI "^/cgi-bin/" PERL5LIB=/home/your_username/perl/lib/perl5/site_perl/5.8.7:/home/your_username/perl/lib/perl5/site_perl/5.8.7/site\_perl
    

    OR in your .bash_profile:

     export PERL5LIB=/home/your_username/perl/lib/perl5/site_perl/5.8.7:/home/your_username/perl/lib:/home/your_username/perl/lib/perl5:/home/your_username/perl/lib/perl5/site_perl
    

It won’t be effective until you log back in, if you want to make it effective in your current session, just type the EXPORT line in your command prompt.