perlutil - Perl 配布と共にパッケージされているユーティリティ
Perl 配布は、Perl インタプリタ自身と共に、様々なユーティリティをシステムに インストールします。 また、Perl 配布自身がインストール処理の一部として使うユーティリティも あります。 この文書はこれらのユーティリティの一覧を示し、何をするものかを説明し、 もしあれば各モジュールの文書へのポインタを提供するために存在しています。
Perl 文書のメインのインターフェースは perldoc
ですが、これを読めていると いうことは、おそらくこれをすでに発見していることでしょう。 perldoc は、現在のディレクトリにあるファイル、システムに インストールされた Perl モジュール、(この文書のような) 標準文書ページを 抽出およびフォーマットします。 この文書に記述されているユーティリティに関する情報を得るには、 perldoc <name>
を使ってください。
端末から実行すると、perldoc は普通は POD (Plain Old Documentation - 説明については perlpod を参照) を man ページに変換するのに pod2man を使い、それからこれを表示するために man を使います; もし man が利用できない場合は、代わりに pod2text が使われて出力は 好みのページャにパイプされます。
上述の二つと共に、もう二つのコンバータがあります: pod2html は POD から HTML ページを生成し、pod2latex は LaTeX ファイルを 生成します。
単にここに記述されているユーティリティの使い方が知りたいだけなら、 pod2usage は "USAGE" の節のみを抽出します; 一部のユーティリティは -help
付きで呼び出されたときに自動的に自分自身に対して pod2usage を 呼び出します。
pod2usage は podselect の特殊ケースで、POD で書かれている文書から 特定の名前の節を抽出するためのユーティリティです。 例えば、ユーティリティには "USAGE" 節がありますが、Perl モジュールには 普通 "SYNOPSIS" 節があります: podselect -s "SYNOPSIS" ...
は指定された ファイルからこの節を抽出します。
自身の文書を POD で書いたなら、podchecker ユーティリティは マークアップのエラーを探します。
splain は perldiag へのインターフェースです - エラーメッセージを ペースとして、あなたのために説明します。
roffitall
roffitall
ユーティリティはシステムにはインストールされませんが、 Perl そースキットの pod/ ディレクトリにいます; これは 配布の全ての文書を *roff 形式に変換して、 全体のタイプセット PostScript かテキストファイルを生成します。
レガシープログラムを Perl に変換するのを助けるために、三つの変換フィルタを 同梱しています:
a2p は awk スクリプトを Perl プログラムに変換します; 例えば、 単純な awk スクリプトである {print $2}
を a2p -F:
すると、 以下のようなコードを元にした Perl プログラムを生成します:
while (<>) {
($Fld1,$Fld2) = split(/[:\n]/, $_, -1);
print $Fld2;
}
同様に、s2p は sed スクリプトを Perl プログラムに変換します。 s/foo/bar
に対して s2p を実行すると、以下のようなコードを 基にした Perl プログラムを生成します:
while (<>) {
chomp;
s/foo/bar/g;
print if $printit;
}
psed として起動すると、Perl で書かれた sed 実装のように振る舞います。
最後に、find2perl は find
コマンドを、File::Find モジュールを使った Perl の等価物に変換します。 find2perl . -user root -perm 4000 -print
は、以下のような File::Find
のためのコールバックサブルーチンを生成します:
sub wanted {
my ($dev,$ino,$mode,$nlink,$uid,$gid);
(($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
$uid == $uid{'root'}) &&
(($mode & 0777) == 04000);
print("$name\n");
}
他の言語を変換するためのこれらのフィルタと同様に、 pl2pm ユーティリティは古いスタイルの Perl 4 ライブラリを新しい スタイルの Perl5 モジュールに変換するのを助けます。
昨日とデータ設定のための Module::Build ベースの設定ファイルを使っている Perl モジュールの設定の問い合わせと変更を行う。
libnet 設定の表示と変更をするには libnetcfg コマンドを実行します。
perlivp プログラムはビルドされた Perl バージョンをテストするために Perl ソースコードをビルド時に設定します。 これは、perl やライブラリが正しくインストールされているかを検証するために、 make install
(あるいはプラットフォームによる等価な手続き) の 後に実行されます。
Perl プログラムの開発、特に Perl を C で拡張するのを助ける一群の ユーティリティがあります。
perlbug は、perl インタプリタ自身や標準ライブラリモジュールのバグを 開発者に報告するための推奨の方法です; バグ報告を投稿するために使う前に、perlbug の文書全体をよく 読んでください。
このプログラムは perl の作者とメンテナに感謝のメッセージを送るための 簡単な方法です。 単に perlbug を別の名前でインストールしたものです。
Perl に C ライブラリと接続するための XS システムができる前、 プログラマは C ヘッダファイルを読み込むことでライブラリの定数を 読み込んでいました。 今でも require 'syscall.ph'
のようなこともできます - .ph ファイルは 対応する .h ファイルに対して h2ph を実行して作成されるべきです。 ヘッダ全体を一度に変換する方法については h2ph の文書を 参照してください。
c2ph と pstruct (実際には同じプログラムですがどのように 呼び出されるかで振る舞いが変わります) は、C を Perl から使うための もう一つの方法を提供します - C 構造体と共用体定義を Perl コードに 変換します。 これは最近は h2xs によって非推奨となっています。
h2xs は C ヘッダファイルを XS モジュールに変換し、C と Perl モジュールとの 間をくっつけるコードを出来るだけ作成しようとします。 これはまた、ピュア Perl モジュールのスケルトンを作成するのにも 便利です。
enc2xs は Unicode Character Mapping ファイル (.ucm) か Tcl Encoding Files (.enc) のどちらかから Encode で使うための Perl エクステンションを構築します。 enc2xs は、Encode モジュールのビルドプロセス中での内部での使用の他に 独自のエンコーディングを perl に追加するのにも使えます。 XS の知識は不要です。
xsubpp は Perl XS コードを C コードに変換するコンパイラです。 これは典型的には ExtUtils::MakeMaker によって作成された makefile によって 実行されます。
xsubpp は、C の関数が Perl の値を操作するために必要な構造を 組み込むことで XS コードを C コードにコンパイルし、Perl がそれらの 関数にアクセスするために必要な糊コードを作成します。
prove は Test::Harness のテスト実行機能へのコマンドライン インターフェースです。 これは make test
の代替です。
Module::CoreList
へのコマンドラインインターフェースで、あるバージョンの perl にどのモジュールが出荷されたかを問い合わせます。
いくつかの一般的な用途のツールが perl と共に出荷されています; ほとんどの 場合は perl 配布に含まれているモジュールに付いているものです。
piconv は Perl 版の iconv で、最近の様々な Unix 系で幅広く 利用可能な文字エンコーディングコンバータです。 このスクリプトは元々は Perl 5.8.0 の機能デモでしたが、ほぼどのような 場合でも iconv を使う場面で piconv を使えます。
ptar は tar 風のプログラムで、ピュア Perl で書かれています。
ptardiff は、展開されたアーカイブと展開されていないアーカイブの 差分を生成する小さいユーティリティです。 (このユーティリティは Text::Diff
モジュールが正しく動作することが 必要であることに注意してください; このモジュールは perl と共に配布は されていませんが、CPAN から利用可能です。)
ptargrep は、tar アーカイブ内のファイルの内容にパターンマッチングを 適用するユーティリティです。
Digest::SHA
モジュールと共に配布されているこのユーティリティは、 SHA チェックサムを表示または検証するために使われます。
zipdetails は zip ファイルの内部記録構造に関する情報を表示します。 これは zip ファイルに保管されている圧縮データの詳細について表示することは 考慮されていません。
これらのユーティリティは perl 配布に含まれていない追加の Perl モジュールの 管理を助けます。
cpan は CPAN.pm へのコマンドラインインターフェースです。 CPAN からモジュールやディストリビューションをインストールしたり、 単にこれらの情報を入手したり、その他にも多くの機能があります。 これは CPAN モジュールのコマンドラインモードと似ています。
perl -MCPAN -e shell
cpanp は cpan と同様 CPAN へのコマンドラインインターフェースで、 バックエンドとして CPANPLUS
を使います。 対話的と命令的両方で使えます。
cpan2dist は CPAN モジュールからディストリビューション(または パッケージ) を作成して、選択したパッケージマネージャに適したものにする ツールです。 特定の形式への対応は CPAN の CPANPLUS::Dist::*
モジュールから 利用可能です。
インストールしたモジュールの検査、packlists の検証、さらに インストールしたモジュールから tarball の作成まで出来る、 ExtUtils::Installed への簡単なインターフェースです。
perldoc, pod2man, perlpod, pod2html, pod2usage, podselect, podchecker, splain, perldiag, roffitall|roffitall
, a2p, s2p, find2perl, File::Find, pl2pm, perlbug, h2ph, c2ph, h2xs, enc2xs, xsubpp, cpan, cpanp, cpan2dist, instmodsh, piconv, prove, corelist, ptar, ptardiff, shasum, zipdetails