CentOS Linux设置Perl


Perl 已经存在很长时间了。它最初设计为用于解析文本文件的报告语言。随着越来越流行,Perl增加了一个模块支持或CPAN,套接字,线程和其他强大的脚本语言所需的功能。

Perl比PHP,Python或Ruby最大的优势在于:它可以让事情以最小的麻烦完成。Perl的这种哲学并不总是意味着它以正确的方式完成事情。但是,对于Linux上的管理任务,Perl被视为脚本语言的首选。

Perl比Python或Ruby的一些优点是 -

  • 强大的文本处理

  • Perl使编写脚本变得快速和肮脏(通常一个Perl脚本比Python或Ruby中的等效脚本短几十行)

  • Perl可以做任何事情(几乎)

Perl的一些缺点是

  • 语法可能会令人困惑

  • Perl中的编码风格可能是独一无二的,并可能导致协作停滞

  • Perl并不是真正面向对象的

  • 通常,当使用Perl时,没有太多的思想投入到标准化和最佳实践中。

决定是否使用Perl,Python或PHP时; 应该问以下问题 -

  • 此应用程序是否需要版本控制?
  • 其他人是否需要修改代码?
  • 其他人需要使用此应用程序吗?
  • 这个应用程序是否会用于其他机器或CPU架构?

如果以上所有答案都是“否”,那么Perl是一个不错的选择,并且可能会以最终结果的速度加快速度。

如上所述,让我们配置我们的CentOS服务器以使用最新版本的Perl。

在安装Perl之前,我们需要了解对Perl的支持。正式来说,Perl只支持最后两个稳定版本。因此,我们希望确保我们的开发环境与CentOS版本保持隔离。

隔离的原因是:如果某人在Perl中向CentOS社区发布了一个工具,很可能会被修改为与CentOS一起发布的Perl。不过,我们也希望为开发目的安装最新版本。像Python一样,CentOS将Perl专注于可靠性而不是尖端。

让我们来看看我们在CentOS 7上的当前版本的Perl。

[root@CentOS]# perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi

我们目前正在运行Perl 5.16.3。这篇文章的最新版本是: perl-5.24.0

我们绝对想升级我们的版本,能够在我们的代码中使用最新的Perl模块。幸运的是,有一个很好的工具来维护Perl环境并保持我们的CentOS版本的Perl隔离。它被称为 perlbrew

让我们安装Perl Brew。

[root@CentOS]# curl -L https://install.perlbrew.pl | bash
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
100   170  100   170    0     0    396      0 --:--:-- --:--:-- --:--:--   397
100  1247  100  1247    0     0   1929      0 --:--:-- --:--:-- --:--:--  1929

现在我们安装了Perl Brew,让我们为最新版本的Perl创建一个环境。

首先,我们需要使用当前安装的Perl版本来引导perlbrew安装。因此,让我们从CentOS存储库中获取一些必需的Perl模块。

- 如果可用,我们总是希望使用CentOS Perl模块与CPAN以及我们的CentOS Perl安装。

第1步 - 安装CentOS Perl Make :: Maker模块。

[root@CentOS]# yum -y install perl-ExtUtils-MakeMaker.noarch

第2步 - 安装最新版本的perl。

[root@CentOS build]# source ~/perl5/perlbrew/etc/bashrc
[root@CentOS build]# perlbrew install -n -j4 --threads perl-5.24.1

我们为Perl安装选择的选项是 -

  • n - 没有测试

  • j4 - 为安装例程并行执行4个线程(我们正在使用quadcore CPU)

  • threads - 启用对Perl的线程支持

在我们的安装成功执行后,让我们切换到我们最新的Perl环境。

[root@CentOS]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1

A sub-shell is launched with perl-5.24.1 as the activated perl. Run 'exit' to finish it.

[root@CentOS]# perl -v

This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-linuxthread-multi

(with 1 registered patch, see perl -V for more detail)

Copyright 1987-2017, 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.

[root@CentOS]#

简单的perl脚本打印perl版本在我们的perlbrew环境中运行 -

[root@CentOS]# cat ./ver.pl  
#!/usr/bin/perl
print $^V . "\n";



[root@CentOS]# perl ./ver.pl  
v5.24.1
[root@CentOS]#

一旦安装了perl,我们就可以用perl brew的cpanm加载cpan模块 -

[root@CentOS]# perl-brew install-cpanm

现在我们使用 cpanm 安装程序在perl brew中使用我们当前的Perl 5.24.1版本制作LWP模块。

第1步 - 切换到我们当前Perl版本的上下文。

[root@CentOS ~]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1

使用perl-5.24.1作为激活的perl启动子shell。运行'exit'完成它。

[root@CentOS ~]#

第2步 - 安装LWP用户代理Perl模块。

[root@CentOS ~]# ~/perl5/perlbrew/bin/cpanm -i LWP::UserAgent

第3步 - 现在让我们用新的CPAN模块测试我们的Perl环境。

[root@CentOS ~]# cat ./get_header.pl  
#!/usr/bin/perl
use LWP;
my $browser = LWP::UserAgent->new();
my $response = $browser->get("http://www.slcc.edu/");
unless(!$response->is_success) {
   print $response->header("Server");
}

[root@CentOS ~]# perl ./get_header.pl  
Microsoft-IIS/8.5 [root@CentOS ~]#

你有它!Perl Brew使隔离perl环境变得简单易用,并且可以被认为是最好的实践,因为它可以与Perl一起使用。