Linux-admin-set-up-perl-for-centos-linux

提供:Dev Guides
移動先:案内検索

Linux Admin-CentOS Linux用のPerlのセットアップ

*Perl* は長い間存在しています。 もともとは、テキストファイルの解析に使用されるレポート言語として設計されました。 人気が高まるにつれて、PerlはモジュールサポートまたはCPAN、ソケット、スレッド、および強力なスクリプト言語に必要なその他の機能を追加しました。

PHPの最大の利点は、PHP、Python、またはRubyに対するPerlの最大の利点です。 Perlのこの哲学は、常に物事が正しい方法で行われることを意味するわけではありません。 ただし、Linuxの管理タスクでは、Perlはスクリプト言語の重要な選択肢と見なされます。

PythonやRubyに対するPerlの利点は次のとおりです-

  • 強力なテキスト処理
  • Perlを使用すると、スクリプトをすばやく作成できます(通常、Perlスクリプトは、PythonまたはRubyの同等のものよりも数十行短くなります)
  • Perlは何でもできます(ほぼ)

Perlのいくつかの欠点は次のとおりです-

  • 構文はわかりにくい場合があります
  • Perlのコーディングスタイルはユニークで、コラボレーションが行き詰まる可能性があります
  • Perlは実際にはオブジェクト指向ではありません
  • 通常、Perlを使用する場合の標準化とベストプラクティスについてはあまり考慮されていません。

Perl、Python、またはPHPのいずれを使用するかを決定するとき。次の質問をする必要があります-

  • このアプリケーションにバージョン管理が必要になることはありますか?
  • 他の人はコードを変更する必要がありますか?
  • 他の人はこのアプリケーションを使用する必要がありますか? *このアプリケーションを別のマシンまたはCPUアーキテクチャで使用することはありますか?

上記のすべてに対する答えが「いいえ」の場合、Perlが適切な選択であり、最終結果の観点から物事をスピードアップする可能性があります。

これで、CentOSサーバーを最新バージョンのPerlを使用するように構成しましょう。

Perlをインストールする前に、Perlのサポートを理解する必要があります。 公式には、Perlは最後の2つの安定バージョンとしてのみサポートされています。 そのため、開発環境を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の最新バージョン用の環境を作りましょう。

最初に、perlbrewインストールをブートストラップするために、現在インストールされているバージョンのPerlが必要になります。 したがって、CentOSリポジトリからいくつかの必要なPerlモジュールを取得しましょう。

-利用可能な場合は、CentOS Perlのインストールで、CPANに対して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 http://www.perl.org/, the Perl Home Page.

[root@CentOS]#

perlbrew環境のコンテキスト内で実行されているperlバージョンを印刷する単純な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の現在のPerlバージョン5.24.1でLWPモジュールを作成しましょう。

  • ステップ1 *-現在のPerlバージョンのコンテキストに切り替えます。
[root@CentOS ~]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1

アクティブ化されたperlとしてperl-5.24.1でサブシェルが起動されます。 「終了」を実行して終了します。

[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を使用する場合のベストプラクティスと見なすことができます。