HPC:Perl
Contents
Perl
Perl version 5.10.1 has been installed across the cluster, along with the popular BioPerl libraries.
User installed Perl Modules from CPAN using CPAN Minus
CPAN Minus is a light-weight replacement for CPAN. In order to install your own Perl modules, you can use the CPAN Minus tool (cpanm) with the --local-lib option:
[asrini@node063 ~]$ cpanm --help Usage: cpanm [options] Module [...] Options: -v,--verbose Turns on chatty output -q,--quiet Turns off the most output --interactive Turns on interactive configure (required for Task:: modules) -f,--force force install -n,--notest Do not run unit tests --test-only Run tests only, do not install -S,--sudo sudo to run install commands --installdeps Only install dependencies --showdeps Only display direct dependencies --reinstall Reinstall the distribution even if you already have the latest version installed --mirror Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/) --mirror-only Use the mirror's index file instead of the CPAN Meta DB --prompt Prompt when configure/build/test fails -l,--local-lib Specify the install base to install modules -L,--local-lib-contained Specify the install base to install all non-core modules --auto-cleanup Number of days that cpanm's work directories expire in. Defaults to 7 Commands: --self-upgrade upgrades itself --info Displays distribution info on CPAN --look Opens the distribution with your SHELL -V,--version Displays software version Examples: cpanm Test::More # install Test::More cpanm MIYAGAWA/Plack-0.99_05.tar.gz # full distribution path cpanm http://example.org/LDS/CGI.pm-3.20.tar.gz # install from URL cpanm ~/dists/MyCompany-Enterprise-1.00.tar.gz # install from a local file cpanm --interactive Task::Kensho # Configure interactively cpanm . # install from local directory cpanm --installdeps . # install all the deps for the current directory cpanm -L extlib Plack # install Plack and all non-core deps into extlib cpanm --mirror http://cpan.cpantesters.org/ DBI # use the fast-syncing mirror You can also specify the default options in PERL_CPANM_OPT environment variable in the shell rc: export PERL_CPANM_OPT="--prompt --reinstall -l ~/perl --mirror http://cpan.cpantesters.org" Type `man cpanm` or `perldoc cpanm` for the more detailed explanation of the options. [asrini@node063 ~]$ cpanm -l perl5 Astro::Time --> Working on Astro::Time Fetching http://www.cpan.org/authors/id/C/CP/CPHIL/Astro-0.75.tar.gz ... OK Configuring Astro-0.75 ... OK Building and testing Astro-0.75 ... OK Successfully installed Astro-0.75 1 distribution installed [asrini@node063 ~]$ tree perl5/ perl5/ ├── lib │ └── perl5 │ ├── Astro │ │ ├── Coord.pm │ │ ├── Misc.pm │ │ └── Time.pm │ └── x86_64-linux-thread-multi │ ├── auto │ │ └── Astro │ └── perllocal.pod └── man └── man3 ├── Astro::Coord.3pm ├── Astro::Misc.3pm └── Astro::Time.3pm 8 directories, 7 files
Installing other perl tools not in CPAN
Refer to the tool's documentation, but usually you supply a PREFIX or INSTALL_BASE to perl Makefile.PL.
Configuring your Perl environment to use local Modules
In order to take advantage of these modules and manpages, you will need define a directory to install them to as well as set a proper value for PERL5LIB.
To define the proper environment variables, you can use the perl5lib environment module:
# add to .bashrc or .tchsrc file module load perl5lib
Alternatively, you can put the following in your .bashrc file:
export PERL5LIB=~/perl5/ export PATH=$PERL5LIB/bin:$PATH export MANPATH=$PERL5LIB/man:$MANPATH
Running Perl scripts non-interactively
Shown below is a sample Perl script:
$ cat simple.pl #!/usr/bin/env perl use warnings; print "Hello!\n";
The above script can be run on the PMACS HPC cluster:
$ bsub -e simple.e -o simple.o perl simple.pl