How-To-Install-Perl.jpeg
Perl 是一种功能丰富的计算机程序语言,运行在超过 100 种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。在生物信息分析领域,Perl 主要是做数据预处理、文本处理和格式转换、对算法效率要求不高的分析软件开发,系统管理和 pipeline 搭建等工作。这里对 Linux(主要是 CentOS)、windows 下 Perl 的安装做一个备忘。

一、CentOS 7 下安装 Perl

1. 源码包下载

在官方网站下载新版本的源码包:http://www.perl.org/get.html,我下载的是 perl-5.26.1.tar.gz

2. 解压,设置源码

  1. $ tar zvxf perl-5.26.1.tar.gz
  2. $ cd perl-5.26.1
  3. $ ./Configure --help
  4. Usage: Configure [-dehrsEKOSV] [-f config.sh] [-D symbol] [-D symbol=value]
  5. [-U symbol] [-U symbol=] [-A command:symbol...]
  6. -d : use defaults for all answers.
  7. -e : go on without questioning past the production of config.sh.
  8. -f : specify an alternate default configuration file.
  9. -h : print this help message and exit (with an error status).
  10. -r : reuse C symbols value if possible (skips costly nm extraction).
  11. -s : silent mode, only echoes questions and essential information.
  12. -D : define symbol to have some value:
  13. -D symbol symbol gets the value 'define'
  14. -D symbol=value symbol gets the value 'value'
  15. common used examples (see INSTALL for more info):
  16. -Duse64bitint use 64bit integers
  17. -Duse64bitall use 64bit integers and pointers
  18. -Dusethreads use thread support
  19. -Dinc_version_list=none do not include older perl trees in @INC
  20. -DEBUGGING=none DEBUGGING options
  21. -Dcc=gcc choose your compiler
  22. -Dprefix=/opt/perl5 choose your destination
  23. -E : stop at the end of questions, after having produced config.sh.
  24. -K : do not use unless you know what you are doing.
  25. -O : ignored for backward compatibility
  26. -S : perform variable substitutions on all .SH files (can mix with -f)
  27. -U : undefine symbol:
  28. -U symbol symbol gets the value 'undef'
  29. -U symbol= symbol gets completely empty
  30. e.g.: -Uversiononly
  31. -A : manipulate symbol after the platform specific hints have been applied:
  32. -A append:symbol=value append value to symbol
  33. -A symbol=value like append:, but with a separating space
  34. -A define:symbol=value define symbol to have value
  35. -A clear:symbol define symbol to be ''
  36. -A define:symbol define symbol to be 'define'
  37. -A eval:symbol=value define symbol to be eval of value
  38. -A prepend:symbol=value prepend value to symbol
  39. -A undef:symbol define symbol to be 'undef'
  40. -A undef:symbol= define symbol to be ''
  41. e.g.: -A prepend:libswanted='cl pthread '
  42. -A ccflags=-DSOME_MACRO
  43. -V : print version number and exit (with a zero status).
  44. # 设置源码
  45. $ ./Configure -des -Dprefix=/usr/local/software/Perl-5.26 -Dusethreads -Uversiononly

3. 编译安装

  1. $ make
  2. ......
  3. make[1]: *** [IO.o] Error 1
  4. make[1]: Leaving directory `/users/rmi1/build/perl-5.12.0/dist/IO'
  5. Unsuccessful make(dist/IO): code=512 at make_ext.pl line 449.
  6. make: *** [lib/auto/IO/IO.so] Error 2

如果在 make 编译过程中出现如上报错,请参考 Make error when compiling Perl 5.12.1 (RHEL 5.5) 执行下面操作:

  1. $ make clean
  2. $ unset C_INCLUDE_PATH
  3. $ ./Configure -des -Dprefix=/usr/local/software/Perl-5.26 -Dusethreads -Uversiononly
  4. $ make

继续验证编译,执行安装:

  1. $ make test
  2. $ make install # 命令完成后,基本安装就完成了

4. 调整环境变量

在 ~/.bashrc 中把 perl 添加到 PATH 中,然后 source ~/.bashrc 刷新。

  1. export PATH="/usr/local/software/Perl-5.26/bin:$PATH"

5. 安装完成

  1. $ perl -version
  2. This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-thread
  3. Copyright 1987-2017, Larry Wall
  4. Perl may be copied only under the terms of either the Artistic License or the
  5. GNU General Public License, which may be found in the Perl 5 source kit.
  6. Complete documentation for Perl, including FAQ lists, should be found on
  7. this system using "man perl" or "perldoc perl". If you have access to the
  8. Internet, point your browser at http://www.perl.org/, the Perl Home Page.

查看 perl 配置汇总信息:

  1. $ perl -V # 该命令会把对应 perl 配置、模块路径所有信息汇总打印出来
  2. Summary of my perl5 (revision 5 version 26 subversion 0) configuration:
  3. Platform:
  4. osname=linux
  5. osvers=2.6.32-696.10.1.el6.x86_64
  6. ......
  7. Built under linux
  8. Compiled at Sep 17 2017 16:35:49
  9. @INC:
  10. /usr/local/software/Perl-5.26/lib/perl5/site_perl/5.26.1/x86_64-linux
  11. /usr/local/software/Perl-5.26/lib/perl5/site_perl/5.26.1
  12. /usr/local/software/Perl-5.26/lib/perl5/5.26.1/x86_64-linux
  13. /usr/local/software/Perl-5.26/lib/perl5/5.26.1

二、Windows 7 下安装 Perl

windows 下的 Perl 安装推荐使用 ActivePerl(https://www.activestate.com/products/activeperl/),安装步骤如下。

2.1 安装包下载

在这里我们下载 64-bit 的 Perl-5.26.3

2.2 安装与设置

ActivePerl-5.26.3.2603-MSWin32-x64-a95bce075.exe 安装包下载完后,我们直接点击进行安装。
image.png

选择 “Custom” 自定义安装:
image.png

自定义安装路径:
image.png

把 Perl 添加到系统环境变量:
image.png

Perl 安装完成后,我们在 DOC 命令行输入 perl -V,可以看到详细的相关信息:
image.png

如果我们在安装过程中没有勾选把 Perl 添加到系统环境变量,DOC 中直接执行 perl -V 会出现 “‘perl’ is not recognized as an internal or external command” 提示,这时候我们需要手动把 perl 添加到 Windows 的系统环境变量中就可以了。
image.png

2.3 配置cpan

为了更好对 Perl 进行扩展,方便以后的模块安装,我们最好配置一下 cpan。ActivePerl 有个好处就是在初始化 cpan 的时候会自动把 dmake、gcc、g++、mingw32-make 等 windows 常用的编译工具一起安装到 “$Dprefix/site/bin“ 目录下,免去了我们手动安装这些编译器的各种麻烦。
image.png

2.4 安装完成

到这里,windows 下的 ActivePerl(perl-5.26)就安装完成了!