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
ユーティリティはシステムにはインストールされませんが、
Perl そースキットの pod/ ディレクトリにいます; これは
配布の全ての文書を *roff 形式に変換して、
全体のタイプセット PostScript かテキストファイルを生成します。
レガシープログラムを Perl に変換するのを助けるために、三つの変換フィルタを 同梱しています:
a2p は awk スクリプトを Perl プログラムに変換します; 例えば、
単純な awk スクリプトである {print $2}
を a2p -F:
すると、
以下のようなコードを元にした Perl プログラムを生成します:
while (<>) { ($Fld1,$Fld2) = split(/[:\n]/, $_, 9999); 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 がそれらの 関数にアクセスするために必要な糊コードを作成します。
Perl にはプロファイラである Devel::DProf モジュールが同梱されています。 dprofpp ユーティリティはこのプロファイラの出力を解析して、 どのサブルーチンに一番時間がかかっているかを伝えます。 さらなる情報については Devel::DProf を参照してください。
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 から利用可能です。)
Digest::SHA
モジュールと共に配布されているこのユーティリティは、
SHA チェックサムを表示または検証するために使われます。
これらのユーティリティは 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, a2p, s2p, find2perl, File::Find, pl2pm, perlbug, h2ph, c2ph, h2xs, dprofpp, Devel::DProf, enc2xs, xsubpp, cpan, cpanp, cpan2dist, instmodsh, piconv, prove, corelist, ptar, ptardiff, shasum