Personal Perl Packages
Â
The local::lib
Perl module lets you install packages in a dedicated location under your home directory, so that you don't need permission to install in the O2-wide directories in /n/app
 or /usr.
On this page, we use the naming convention of perl5-O2
for the personal Perl package directory, though you can name it whatever you like. We use the perl/5.30.0
module for setting up local::lib
in the instructions below, but it will also work with other available Perl modules on O2.
Turning on local::lib
You can set up local::lib so that each time you login, you'll be using a relatively modern version of Perl and local::lib.
That way, the modules you install in your local perl5-O2Â
directory today will be available next time you login.
The following three commands will modify your .bashrc
file to always look in your local directory first for Perl packages:
echo 'module load gcc/6.2.0' >> ~/.bashrc
echo 'module load perl/5.30.0' >> ~/.bashrc
echo '[ $SHLVL -eq 1 ] && eval $(perl -I$HOME/perl5-O2/lib/perl5 -Mlocal::lib=~/perl5-O2)' >> ~/.bashrc
The above commands need to be done only once ever.
Alternatively, you can start up local::lib
manually whenever you want (once per login), to install new packages in your local perl5-O2Â
directory, or to use packages in that directory:
module load gcc/6.2.0
module load perl/5.30.0
eval `perl -Mlocal::lib=~/perl5-O2`
Using local::lib
That's it! Once you've turned it on, installing Perl modules with tools like cpan
or cpanm
will automatically install them to your local perl5-O2
directory. To make modules that you installed to your local library available within a Perl script, add a use statement to the top of your script:
#!/usr/bin/env perl
use Nameofmodule;
# rest of code goes here