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?21??2009?/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=none??do?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=value??prepend?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,?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下安装过的模块需要重新再安装一下,嘿嘿