The University of Arizona
    For questions, please open a UAService ticket and assign to the Tools Team.
Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


 

1st Generation

There are two versions of Perl available on the htc/cluster/smp systems.

  1. Perl 5.10.1 is the default if you just want to use the system version -  perl --version
  2. Perl 5.10.1 is also the version you get with module load perl/5.10.1
  3. Perl 5.14.2 is the default module provided with module load perl; instmodsh


 ElGatoElGato

Perl is only installed to the operating system and is 5.10.1 -  perl --version


Ocelote

There are two versions of Perl available on Ocelote

  1. Perl 5.10.1 is the default if you just want to use the system version -  perl --version
  2. Perl 5.22.1 is the default module provided with module load perl; instmodsh


Perl Module Policy

We will provide a version of perl through modules and the user is expected to create their own perl environment using perl-virtualenv.

Here is a useful Perl tutorial:
http://www.tutorialspoint.com/perl/perl_modules.htm 
Additionally O'Reilly Media is a well regarded source for Perl 

Installing Perl Packages Using perl-virtualenv

One of the best things about Perl is the number of packages provided by the user community. Installing packages generally requires root access but that is not a viable solution in the HPC environment.

There is an easy solution. You can use perl-virtualenv to create a personal Perl environment that will persist for each time you log in.  There is no risk of packages being updated under you for another user.  

Here is an example session:

Code Block
[netid@login2 ~]$ module list
Currently Loaded Modulefiles:
  1) pbspro/13.0.2.153173   2) gcc/5.2.0

[netid@login2 ~]$ module load perl

[netid@login2 ~]$ perl-virtualenv my_project
perl: /cm/shared/uaapps/perl/5.22.1/bin/perl
venv: /home/u13/netid/my_project

[netid@login2 ~]$ source my_project/bin/activate
Attempting to create directory /home/u13/chrisreidy/my_project

(my_project)[netid@login2 ~]$ cpanm -i Config::Trivial
--> Working on Config::Trivial
Fetching http://www.cpan.org/authors/id/A/AT/ATRICKETT/Config-Trivial-0.81.tar.gz ... OK
Configuring Config-Trivial-0.81 ... OK
==> Found dependencies: Pod::Coverage, Test::Pod::Coverage, IO::Capture
--> Working on Pod::Coverage
Fetching http://www.cpan.org/authors/id/R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz ... OK
Configuring Pod-Coverage-0.23 ... OK
Building and testing Pod-Coverage-0.23 ... OK
Successfully installed Pod-Coverage-0.23
--> Working on Test::Pod::Coverage
Fetching http://www.cpan.org/authors/id/N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz ... OK
Configuring Test-Pod-Coverage-1.10 ... OK
Building and testing Test-Pod-Coverage-1.10 ... OK
Successfully installed Test-Pod-Coverage-1.10
--> Working on IO::Capture
Fetching http://www.cpan.org/authors/id/R/RE/REYNOLDS/IO-Capture-0.05.tar.gz ... OK
Configuring IO-Capture-0.04 ... OK
Building and testing IO-Capture-0.05 ... OK
Successfully installed IO-Capture-0.05
Building and testing Config-Trivial-0.81 ... OK
Successfully installed Config-Trivial-0.81
4 distributions installed