- Linux管理员教程
- 首页
- CentOS概述
- 基本的CentOS Linux命令
- 文件/文件夹管理
- 用户管理
- 配额管理
- Systemd服务启动和停止
- 使用systemctl进行资源管理
- 使用cgroups进行资源管理
- 进程管理
- 防火墙设置
- 在CentOS Linux中配置PHP
- 使用CentOS Linux设置Python
- 在CentOS Linux上配置Ruby
- 在CentOS Linux上设置Perl
- 安装和配置Open LDAP
- 创建SSL证书
- 安装Apache Web服务器CentOS 7
- CentOS 7上的MySQL设置
- 设置Postfix MTA和IMAP/POP3
- 安装匿名FTP
- 远程管理
- CentOS中的流量监控
- 日志管理
- 备份和恢复
- 系统更新
- Shell脚本
- 包管理
- 卷管理
- Linux管理员有用资源
- Linux管理员 - 快速指南
- Linux管理员 - 有用资源
- Linux管理员 - 讨论
Linux管理员 - 在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 版本隔离。
隔离的原因是:如果有人向 CentOS 社区发布了 Perl 中的工具,那么很可能它会被修改以在与 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 模块而不是使用 CentOS Perl 安装的 CPAN。
步骤 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 个线程(我们正在使用四核 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 https://www.perl5.cn/, the Perl Home Page. [root@CentOS]#
简单的 perl 脚本打印在 perlbrew 环境上下文中运行的 perl 版本 -
[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 中当前的 5.24.1 Perl 版本创建 LWP 模块。
步骤 1 - 切换到我们当前 Perl 版本的上下文。
[root@CentOS ~]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1
将启动一个子 shell,并将 perl-5.24.1 作为激活的 perl。运行“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 的发展情况就是这样。