6.38. Perl-5.18.2

Perl パッケージは Perl 言語 (Practical Extraction and Report Language) を提供します。

概算ビルド時間: 6.7 SBU
必要ディスク容量: 246 MB

6.38.1. Perl のインストール

Perl の設定ファイルが /etc/hosts ファイルを参照するので、まずはこのファイルを生成します。 このファイルはテストスイートを実行する際にも利用されます。

echo "127.0.0.1 localhost $(hostname)" > /etc/hosts

ここでビルドするバージョンの Perl は Compress::Raw::Zlib モジュールをビルドします。 デフォルトではビルドの際に Zlib のソースを内部的にコピーします。 以下のコマンドは、既にインストールされている Zlib ライブラリを用いるようにします。

sed -i -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|"           \
       -e "s|INCLUDE\s*= ./zlib-src|INCLUDE    = /usr/include|" \
       -e "s|LIB\s*= ./zlib-src|LIB        = /usr/lib|"         \
    cpan/Compress-Raw-Zlib/config.in

Perl のビルド設定を完全に制御したい場合は、以下のコマンドから-desオプションを取り除くことで手作業により操作を進めます。 Perl が自動的に判別するデフォルト設定に従うので良いのであれば、以下のコマンドにより Perl をコンパイルするための準備をします。

sh Configure -des -Dprefix=/usr                 \
                  -Dvendorprefix=/usr           \
                  -Dman1dir=/usr/share/man/man1 \
                  -Dman3dir=/usr/share/man/man3 \
                  -Dpager="/usr/bin/less -isR"  \
                  -Duseshrplib

configure オプションの意味:

-Dvendorprefix=/usr

このオプションは各種の perl モジュールをどこにインストールするかを指定します。

-Dpager="/usr/bin/less -isR"

このオプションは perldoc プログラムが less プログラムを呼び出す際のエラーを正します。

-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3

まだ Groff をインストールしていないので Configure スクリプトが Perl の man ページを必要としないと判断してしまいます。 このオプションを指定することによりその判断を正します。

-Duseshrplib

Perl モジュールの中で必要とされる共有ライブラリ libperl をビルドします。

パッケージをコンパイルします。

make

コンパイル結果をテストするには以下を実行します。(約 2.5 SBU)

make -k test

パッケージをインストールします。

make install

6.38.2. Perl の構成

インストールプログラム: a2p, c2ph, config_data, corelist, cpan, cpan2dist, cpanp, cpanp-run-perl, enc2xs, find2perl, h2ph, h2xs, instmodsh, json_pp, libnetcfg, perl, perl5.18.2 (perl へのリンク), perlbug, perldoc, perlivp, perlthanks (perlbug へのリンク), piconv, pl2pm, pod2html, pod2latex, pod2man, pod2text, pod2usage, podchecker, podselect, prove, psed (s2p へのリンク), pstruct (c2ph へのリンク), ptar, ptardiff, ptargrep, s2p, shasum, splain, xsubpp, zipdetails
インストールライブラリ: ここでは列記できないほどの数多くのライブラリ
インストールディレクトリ: /usr/lib/perl5

概略説明

a2p

awk スクリプトを Perl スクリプトに変換します。

c2ph

cc -g -S によって生成されるような C 言語構造体をダンプします。

config_data

Perl モジュールの設定を検索または変更します。

corelist

Module::CoreList に対するコマンドラインフロントエンド。

cpan

コマンドラインから CPAN (Comprehensive Perl Archive Network) との通信を行います。

cpan2dist

CPANPLUS の配布物生成ツール。

cpanp

CPANPLUS ランチャー。

cpanp-run-perl

Spawn プロセスにおいて出力処理が行われた後に、出力バッファをクリアするために利用するPerl スクリプト。

enc2xs

Unicode キャラクターマッピングまたは Tcl エンコーディングファイルから、Perl の Encode 拡張モジュールを構築します。

find2perl

find コマンドを Perl に変換します。

h2ph

C 言語のヘッダーファイル .hを Perl のヘッダーファイル .ph に変換します。

h2xs

C 言語のヘッダーファイル .h を Perl 拡張 (Perl extension) に変換します。

instmodsh

インストールされている Perl モジュールを調査するシェルスクリプト。 インストールされたモジュールから tarball を作ることもできます。

json_pp

特定の入出力フォーマット間でデータを変換します。

libnetcfg

Perl モジュール libnet の設定に利用します。

perl

C 言語、sedawksh の持つ機能を寄せ集めて出来上がった言語。

perl5.18.2

perl へのハードリンク。

perlbug

Perl およびそのモジュールに関するバグ報告を生成して、電子メールを送信します。

perldoc

pod フォーマットのドキュメントを表示します。 pod フォーマットは Perl のインストールツリーあるいは Perl スクリプト内に埋め込まれています。

perlivp

Perl Installation Verification Procedure のこと。 Perl とライブラリが正しくインストールできているかを調べるものです。

perlthanks

感謝のメッセージ (Thank you messages) を電子メールで Perl 開発者に送信します。

piconv

キャラクターエンコーディングを変換する iconv の Perl バージョン。

pl2pm

Perl4 の .pl ファイルを Perl5 の .pm モジュールファイルへの変換を行うツール。

pod2html

pod フォーマットから HTML フォーマットに変換します。

pod2latex

pod フォーマットから LaTeX フォーマットへ変換します。

pod2man

pod データを *roff の入力ファイル形式に変換します。

pod2text

pod データをアスキーテキスト形式に変換します。

pod2usage

ファイル内に埋め込まれた pod ドキュメントから使用方法の記述部分を表示します。

podchecker

pod 形式の文書ファイルに対して文法をチェックします。

podselect

pod ドキュメントに対して指定したセクションを表示します。

prove

Test::Harness モジュールのテストを行うコマンドラインツール。

psed

ストリームエディター sed の Perl バージョン。

pstruct

cc -g -S によって生成されるような C 言語構造体をダンプします。

ptar

Perl で書かれた tar 相当のプログラム。

ptardiff

アーカイブの抽出前後を比較する Perl プログラム。

ptargrep

tar アーカイブ内のファイルに対してパターンマッチングを適用するための Perl プログラム。

s2p

sed スクリプトを Perl スクリプトに変換します。

shasum

SHA チェックサム値を表示またはチェックします。

splain

Perl スクリプトの警告エラーの診断結果を詳細 (verbose) に出力するために利用します。

xsubpp

Perl の XS コードを C 言語コードに変換します。

zipdetails

Zip ファイルの内部構造に関する情報を出力します。