この記事では、RHEL 8 /CentOS8にPerlをインストールして構成する方法について説明します。
このチュートリアルでは、次のことを学びます。
- Perlの概要
- Perlの機能
- Perlのダウンロードとインストール
- Perlプログラムの作成と実行
Perlの機能。
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
RHEL 8 / CentOS 8 | |
Perl | |
rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
Perlの概要
Perlは、もともとテキスト操作用に開発された汎用プログラミング言語であり、現在はシステム管理、Web開発、ネットワークプログラミング、GUI開発などの幅広いタスクに使用されています。
この言語は、美しい(小さく、エレガントで、最小限)ではなく、実用的(使いやすく、効率的、完全)であることを目的としています。その主な機能は、使いやすく、手続き型プログラミングとオブジェクト指向(OO)プログラミングの両方をサポートし、テキスト処理の強力な組み込みサポートを備え、世界で最も印象的なサードパーティモジュールのコレクションの1つを備えていることです。
>Perlの機能
Perlの全体的な構造は、Cから広く派生しています。Perlは、変数、式、代入ステートメント、中括弧で区切られたブロック、制御構造、およびサブルーチンを備えた手続き型です。
Perlはシェルプログラミングからも機能を取り入れています。すべての変数は先頭のシジルでマークされており、変数を文字列に直接補間できます。ただし、シェルとは異なり、Perlは変数へのすべてのアクセスにシジルを使用します。シジルを使用する他のほとんどのプログラミング言語とは異なり、シジルは変数のタイプではなく式のタイプを示します。したがって、たとえば、ハッシュ内の値のリストにアクセスするには、ハッシュの印章( "%")ではなく、配列の印章( "@")が使用されます。 Perlには、並べ替えやオペレーティングシステム機能の呼び出しなど、シェルプログラミングでよく使用されるツール(これらのツールの多くはシェルの外部のプログラムによって実装されます)を提供する多くの組み込み関数もあります。
Perlは、Lispからリストを取得し、AWKからハッシュ(「連想配列」)を取得し、sedから正規表現を取得します。これらは、多くの解析、テキスト処理、およびデータ管理タスクを簡素化および促進します。また、Lispと共有されているのは、ブロック内の最後の値の暗黙的な戻りと、すべてのステートメントに値があるため、式でもあり、より大きな式自体で使用できるという事実です。
Perl 5は、複雑なデータ構造、ファーストクラスの関数(つまり、値としてのクロージャ)、およびオブジェクト指向プログラミングモデルをサポートする機能を追加しました。これらには、参照、パッケージ、クラスベースのメソッドディスパッチ、レキシカルスコープの変数、およびコンパイラ指令(厳密なプラグマなど)が含まれます。 Perl 5で導入された主な追加機能は、コードを再利用可能なモジュールとしてパッケージ化する機能でした。
Perlのすべてのバージョンは、自動データ入力と自動メモリ管理を行います。インタプリタは、プログラム内のすべてのデータオブジェクトのタイプとストレージ要件を知っています。必要に応じて、参照カウントを使用してストレージを割り当て、解放します(したがって、手動の介入なしに循環データ構造の割り当てを解除することはできません)。法的な型変換(たとえば、数値から文字列への変換)は、実行時に自動的に行われます。不正な型変換は致命的なエラーです。
Perlのダウンロードとインストール
RHEL 8 / CentOS 8には、Perlパッケージがすでに含まれています。以下のコマンドを使用して、インストールされているかどうかを確認できます。
# yum info perl # rpm -qa | grep perl
yum info perl Updating Subscription Management repositories. Updating Subscription Management repositories. Available Packages Name : perl Epoch : 4 Version : 5.26.2 Release : 414.el8 Arch : x86_64 Size : 72 k Source : perl-5.26.2-414.el8.src.rpm Repo : rhel-8-for-x86_64-appstream-beta-rpms Summary : Practical Extraction and Report Language URL : http://www.perl.org/ License : GPL+ or Artistic Description : Perl is a high-level programming language with roots in C, sed, awk and shell : scripting. Perl is good at handling processes and files, and is especially : good at handling text. Perl's hallmarks are practicality and efficiency. : While it is used to do a lot of different things, Perl's most common : applications are system administration utilities and web programming. : : This is a metapackage with all the Perl bits and core modules that can be : found in the upstream tarball from perl.org. : : If you need only a specific feature, you can install a specific package : instead. E.g. to handle Perl scripts with /usr/bin/perl interpreter, : install perl-interpreter package. See perl-interpreter description for more : details on the Perl decomposition into packages.
ご覧のとおり、利用可能ですがインストールされていないため、パッケージperl
をインストールできます。 次のコマンドを使用します。
# yum install perl
インストールが正常に完了すると、「インストールされたパッケージ」の下に以下の出力が表示されます
yum info perl Updating Subscription Management repositories. Updating Subscription Management repositories. Last metadata expiration check: 0:02:57 ago on Wed 13 Mar 2019 11:26:36 PM +04. Installed Packages Name : perl Epoch : 4 Version : 5.26.2 Release : 414.el8 Arch : x86_64 Size : 0.0 Source : perl-5.26.2-414.el8.src.rpm Repo : @System From repo : rhel-8-for-x86_64-appstream-beta-rpms Summary : Practical Extraction and Report Language URL : http://www.perl.org/ License : GPL+ or Artistic Description : Perl is a high-level programming language with roots in C, sed, awk and shell : scripting. Perl is good at handling processes and files, and is especially : good at handling text. Perl's hallmarks are practicality and efficiency. : While it is used to do a lot of different things, Perl's most common : applications are system administration utilities and web programming. : : This is a metapackage with all the Perl bits and core modules that can be : found in the upstream tarball from perl.org. : : If you need only a specific feature, you can install a specific package : instead. E.g. to handle Perl scripts with /usr/bin/perl interpreter, : install perl-interpreter package. See perl-interpreter description for more : details on the Perl decomposition into packages.
インストール後、コマンドを使用してインストールされたPerlのバージョンを確認できます。
# perl -v
# perl -v This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-linux-thread-multi (with 52 registered patches, see perl -V for more detail) Copyright 1987-2018, 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プログラムの作成と実行
helloworld.pl
を作成します 以下に示すように、vimのようなエディタを使用したプログラム。
#!/usr/bin/perl
print "Hello World!";
以下に示すように、perlインタープリターがシステムにインストールされていることを確認してください。
# whereis perl perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz
# which perl /usr/bin/perl
プログラムを実行するには、perl helloworld.pl
を使用して実行できます。 または./helloworld.pl
。
# perl helloworld.pl Hello World!
# chmod +x helloworld.pl # ./helloworld.pl Hello World!
以下に示すように、コマンドラインからperlを実行することもできます。
# perl -e 'print "Hello World!\n"' Hello World!
結論
Perlは順調に進んでおり、近い将来も成長し続けるでしょう。ただし、多くの初心者は、オンラインのPerlコミュニティとリソースのいくつかの欠陥から、Perlの世界の一部になること、またはそれを理解することを思いとどまっています。
Perlは、多くの人にとってUNIXへのゲートウェイであることが証明されています。 UNIX互換システム(LinuxやSolarisなど)を使い始めた多くの人は、Perlでシェルスクリプトを作成し、後で実際にシェルプログラミングを学びます。 Win32にPerlを使用した多くのWindowsの人々は、その後、UNIXの概念がはるかに望ましいと感じています。 Perlは、さまざまな点でUNIXを反映しています。また、Perlを怖がった結果として、誰かがUNIXを怖がるのは嫌です。
Perlの簡潔さ、習得の難しさ、「矛盾」、「醜い構文」、複雑さ、中置記法、サイズ、ドル記号、大規模なコードベースへの不適合などに不満を言う人をよく耳にします。これらすべての「問題」はごくわずかです。それを一般に受け入れさせるのに完全に誤りではないにしても。実際、プログラミング言語の選択などの不道徳な問題ですべての人が同じではないため、すべての人が受け入れることができない文化があることを示しています。これは良いことです。
しかし、誰かがPerlを学ぶのを思いとどまらせることができるのは、オンラインコミュニティからの優れたサポートと支援がないことです。これは、彼が「Perl」と呼ばれるこの仮想世界に接続している唯一の接続である可能性があります。変更しましょう。