Perl

From GeilThings

Jump to: navigation, search
Perl
General
Version 5.18.0
Stable 5.18.0
Function Programming Language
Package Manager CPAN
Environment Manager perlbrew
Scripts

Contents


General

  • Perl 5.8.8 comes pre-installed in CentOS 5.6 and CentOS 5.7.
  • Version: perl -v. Output formats change:
    • This is perl, v5.8.8 built for x86_64-linux-thread-multi
    • This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux
    • Mit anderen Worten: Toll.
  • Package Manager: CPAN (Comprehensive Perl Archive Network; http://www.cpan.org/)
  • Different perl installations on the same machine can be managed using perlbrew (http://search.cpan.org/~gugod/App-perlbrew/)

Installation

Perl 5.8.8 was pre-installed in CentOS 5.6 64 Bit; 5.8.8 is also the version found in CentOS 5.7. Using perlbrew (http://search.cpan.org/~gugod/App-perlbrew/) to install the newest versions of Perl:

# perlbrew can be found on the EPEL repository.
yum install perlbrew
 
perlbrew init
# Follow the instructions on the screen: 
# Paste the following line(s) to the end of ~/.bashrc and start a new shell
## source ~/perl5/perlbrew/etc/bashrc
 
# ------------- START A NEW SHELL -------------------
 
# Select a mirror. October 2011: 82 for the FU Berlin.
# April 2012: 87 for the FU Berlin; numbers change. 
# October 2012: 83 for the FU Berlin.
# June 2013: 81 FU Berlin.
perlbrew mirror
 
# See what versions are available.
perlbrew available
 
# Choose the one.
RAWNEWVERSION=`curl -sd "action=ask&query=[[Perl]]|%3FStable&format=json" http://www.geilthings.com/api.php`   
NEWVERSION=`echo "$RAWNEWVERSION" | grep -Po '^.*?\K(?<=Stable\":\[\").*?(?=\")'`  
echo $NEWVERSION
perlbrew install ${NEWVERSION}
# It took > 20 minutes for 5.14.2 or 5.16.1, 5.16.3, 5.18.0
 
perlbrew switch perl-${NEWVERSION}
# To switch to perl 5.16.1: perlbrew switch perl-5.16.1
 
# To switch to the default perl installation: perlbrew off. 
# Then exit the shell and start a new one to make it effective.
 
# To immediately make it effective, run this line in this terminal:
exec /bin/bash

Programming


  • CentOS 5.6: After upgrading the standard perl 5.8.8 package (32.el5_7.6, x86_64), a Perl error became visible in a script connecting to CouchDB:
    • "weaken is only available with the XS version of Scalar::Util at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/B/Utils.pm line 18"
    • Solution: Zachary Armstrong’s Blog: http://blog.zacharyarmstrong.com/2008/05/24/fixing-the-perl-module-only-available-with-the-xs-version-error/
    • An intermittent, irreproducible error (Undefined subroutine &Scalar::Util::weaken called at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/Mouse/Meta/Class.pm line 238.) in the connection to MongoDB also disappeared after the installation below.
cd /opt
wget http://cpan.netnitco.net/authors/id/G/GB/GBARR/Scalar-List-Utils-1.23_03.tar.gz
tar zxvf Scalar-List-Utils-1.23_03.tar.gz
cd Scalar-List-Utils-1.23_03
perl Makefile.PL
make test install
httpd -k stop
httpd -k start

Web Frameworks

Apache Module

mode_perl

Versions

Software name Version number Version date
Perl 5.16.3
5.18.0
12 March 2013
22 June 2013

Comments

blog comments powered by Disqus