升级系统自带的perl-BSDerの
CentOS 系统自带的Perl版本是5.8.8,已经很老了,哥今天折腾一下,把它升级到最新版本。系统初始状态下的Perl版本
[*]# perl -v
[*]
[*]This is perl, v5.8.8 built for x86_64-linux-thread-multi
[*]
[*]Copyright 1987-2006, Larry Wall
[*]
[*]Perl may be copied only under the terms of either the Artistic License or the
[*]GNU General Public License, which may be found in the Perl 5 source kit.
[*]
[*]Complete documentation for Perl, including FAQ lists, should be found on
[*]this system using "man perl" or "perldoc perl".If you have access to the
[*]Internet, point your browser at http://www.perl.org/, the Perl Home Page.
看一下perl安装在哪
[*]# which perl
[*]/usr/bin/perl
[*]# ll /usr/bin/perl
[*]-rwxr-xr-x 2 root root 19200 Jan 212009 /usr/bin/perl
接下来,准备升级操作,下载最新的perl源码包到本地来
[*]http://www.cpan.org/src/5.0/perl-5.14.1.tar.gz
安装
[*]# tar perl-5.14.1.tar.gz
[*]# cd perl-5.14.1
[*]# ./Configure --help
[*]Usage: Configure [-dehrsEKOSV] [-f config.sh] [-D symbol] [-D symbol=value]
[*] [-U symbol] [-U symbol=] [-A command:symbol...]
[*]-d : use defaults for all answers.
[*]-e : go on without questioning past the production of config.sh.
[*]-f : specify an alternate default configuration file.
[*]-h : print this help message and exit (with an error status).
[*]-r : reuse C symbols value if possible (skips costly nm extraction).
[*]-s : silent mode, only echoes questions and essential information.
[*]-D : define symbol to have some value:
[*] -D symbol symbol gets the value 'define'
[*] -D symbol=value symbol gets the value 'value'
[*] common used examples (see INSTALL for more info):
[*] -Duse64bitint use 64bit integers
[*] -Duse64bitall use 64bit integers and pointers
[*] -Dusethreads use thread support
[*] -Dinc_version_list=nonedo not include older perl trees in @INC
[*] -DEBUGGING=none DEBUGGING options
[*] -Dcc=gcc choose your compiler
[*] -Dprefix=/opt/perl5 choose your destination
[*]-E : stop at the end of questions, after having produced config.sh.
[*]-K : do not use unless you know what you are doing.
[*]-O : let -D and -U override definitions from loaded configuration file.
[*]-S : perform variable substitutions on all .SH files (can mix with -f)
[*]-U : undefine symbol:
[*] -U symbol symbol gets the value 'undef'
[*] -U symbolsymbol= symbol gets completely empty
[*] e.g.:-Uversiononly
[*]-A : manipulate symbol after the platform specific hints have been applied:
[*] -A append:symbol=value append value to symbol
[*] -A symbol=value like append:, but with a separating space
[*] -A define:symbol=value define symbol to have value
[*] -A clear:symbol define symbol to be ''
[*] -A define:symbol define symbol to be 'define'
[*] -A eval:symbol=value define symbol to be eval of value
[*] -A prepend:symbol=valueprepend value to symbol
[*] -A undef:symbol define symbol to be 'undef'
[*] -A undef:symbol= define symbol to be ''
[*] e.g.:-A prepend:libswanted='cl pthread '
[*] -A ccflags=-DSOME_MACRO
[*]-V : print version number and exit (with a zero status).
找到安装编译参数
[*]# ./Configure -des -Dprefix=/usr
[*]各参数的含义上面已有
[*]# make && make install
如没有意外,安装成功,看看现在的版本
[*]# perl -v
[*]
[*]This is perl 5, version 14, subversion 1 (v5.14.1) built for x86_64-linux
[*]
[*]Copyright 1987-2011, Larry Wall
[*]
[*]Perl may be copied only under the terms of either the Artistic License or the
[*]GNU General Public License, which may be found in the Perl 5 source kit.
[*]
[*]Complete documentation for Perl, including FAQ lists, should be found on
[*]this system using "man perl" or "perldoc perl".If you have access to the
[*]Internet, point your browser at http://www.perl.org/, the Perl Home Page.
看看安装的位置
[*]# ll /usr/bin/perl
[*]-rwxr-xr-x 2 root root 1427485 Jul 13 14:06 /usr/bin/perl
我们这是覆盖安装,替换了原先系统中的原始版本。
新的版本中增加了say函数,让我们写一个简单的脚本来测试一下,看有没有问题
[*]#!/usr/bin/perl -w
[*]
[*]use strict;
[*]use 5.14.1;
[*]
[*]say "hello,world";
output:
[*]perl henry.pl
[*]hello,world
正确,大功告成,还不赶紧去了解Perl 5.14.1的新特性。哈哈,^__^
注:这样,似乎有一个问题,之前在Perl 5.8.8下安装过的模块需要重新再安装一下,嘿嘿
页:
[1]