標準モジュールは、Perl
のバージョンや環境によってインストールされていない、実装されていないといったことがあります。そのなかでも、確実に標準インストールされるものはソースキットのlib
ディレクトリ。環境やコンパイルオプションによってインストールされない場合もあるものはext
ディレクトリに含まれています。
モジュール名 | 説明 |
---|---|
AnyDBM_File | 複数のDBM に対するフレームワークを提供します |
AutoLoader | 要求された関数のみをロードします |
AutoSplit | パッケージを分割します |
B | Perl コンパイラおよび関連ツールです |
B::Asmdata | Perl のオペレータ(命令)に関する、自動生成されたデータを保持します |
B::Assembler | Perl バイトコードのアセンブルを行います |
B::Bblock | プログラムの基本ブロックをたどります |
B::Bytecode | Perl コンパイラのバイトコード生成バックエンドです |
B::C | Perl コンパイラ用のC バックエンドです |
B::CC | Perl コンパイラ用のCC バックエンドです |
B::Debug | Perl シンタックスツリーを調べ、各オペレーションに関するデバッグ情報を出力します |
B::Deparse | プログラムをコンパイルして得られた内部構造をもとにPerl ソースを生成します |
B::Disassembler | Perl バイトコードを逆アセンブルします |
B::Lint | Perl プログラムをチェックします |
B::Showlex | 関数・ファイル内のレキシカル変数を表示します |
B::Stackobj | CC バックエンド用のモジュールです |
B::Stash | 読み込まれたStash を表示します |
B::Terse | Perl シンタックスツリーを調べ、各オペレータに関する情報を出力します |
B::Xref | 変数、サブルーチン、フォーマットのクロスリファレンスリストを生成します |
Benchmark | コードの実行時間のベンチマーク |
ByteLoader | コンパイルしたPerl コードのバイト読み込み |
CGI | CGI クラス |
CGI::Apache | CGI をPerl-Apache API と組み合わせて使用するための環境セットアップモジュールです |
CGI::Carp | HTTPD のエラーログに書き込みするためのCGI インタフェイスです |
CGI::Cookie | Cookies を利用するためのCGI インタフェイスです |
CGI::Fast | Fast CGI を利用するためのCGI インタフェイスです |
CGI::Pretty | フォーマットしたHTML を出力します |
CGI::Push | サーバプッシュ(Netscape 専用)用のインタフェイスです |
CGI::Switch | 複数のコンストラクタを試して、最初に取得できたCGI オブジェクトを返します |
CPAN | CPAN に対するインタフェイスです |
CPAN::FirstTime | CPAN のコンフィグレーションファイルを生成します |
CPAN::Nox | XS モジュールを排除してCPAN を実行します |
Carp | エラーの警告を出力します |
Class::Struct | 構造体風のデータ型をクラスとして宣言します |
Config | Perl のコンフィグレーション情報にアクセスします |
Cwd | 現在の作業ディレクトリのパス名を取得します |
DB | Perl デバッギング用API のインタフェイスです |
DB_File | Berkeley DB にアクセスします |
Data::Dumper | 出力、もしくはeval したPerl のデータ構造体を返します |
Devel::DProf | Perl コード・プロファイラです |
Devel::Peek | XS プログラマ用のデバッギングツールです |
Devel::SelfStubber | SelfLoading モジュールに対するスタブを生成します |
DirHandle | ディレクトリハンドル用のオブジェクトメソッドを提供します |
Dumpvalue | Perl データのダンプを提供します |
DynaLoader | C ライブラリを動的にPerl プログラムにロードします |
English | 記号変数の代わりに読みやすい英語名を使います |
Env | 環境変数をインポートします |
Errno | errno.h で定義されたシステムのerrno 定数を提供します |
Exporter | モジュールのためのデフォルトimport メソッドを実装します |
ExtUtils::Command | 一般的なUNIX コマンドの変わりに使用するユーティリティーです |
ExtUtils::Embed | C やC++ アプリケーションにPerl を組み込むためのユーティリティです |
ExtUtils::Install | 1つの場所からほかの場所にファイルをインストールします |
ExtUtils::Installed | インストール済みのモジュール内容を管理します |
ExtUtils::Liblist | 使用するライブラリと、その使用法を指定します |
ExtUtils::MM_Cygwin | ExtUtils::MakeMaker にあるUNIX 依存の動作をオーバーライドするためのメソッド群です |
ExtUtils::MM_OS2 | ExtUtils::MakeMaker にあるUNIX 依存の動作をオーバーライドするためのメソッド群です |
ExtUtils::MM_Unix | ExtUtils::MakeMaker に使用されるメソッド群 |
ExtUtils::MM_VMS | ExtUtils::MakeMaker にあるUNIX 依存の動作をオーバーライドするためのメソッド群です |
ExtUtils::MM_Win32 | ExtUtils::MakeMaker にあるUNIX 依存の動作をオーバーライドするためのメソッド群です |
ExtUtils::MakeMaker | Perl エクステンションのMakefile を生成します |
ExtUtils::Manifest | MANIFEST ファイルの作成sとチェックを行うユーティリティです |
ExtUtils::Mkbootstrap | DyaLoader が使用するブートストラップファイルを作成します |
ExtUtils::Mksymlists | 動的エクステンションのためのリンカオプションファイルを書き出します |
ExtUtils::Packlist | .packlist ファイルの管理を行います |
ExtUtils::testlib | @INC にblib 以下のディレクトリを追加します |
Fatal | 組み込み関数やPerl の関数でのエラーを致命的なものにします |
Fcntl | C のfcntl.h の定義をロードします |
File::Basename | パス名を分解します |
File::CheckTree | ファイルに対して各種のテストを実施します |
> File::Compare |
ファイルやファイルハンドルの比較をします |
File::Copy | ファイルやファイルハンドルのコピーを行います |
File::DosGlob | DOS 風のグロブ機能です |
File::Find | ファイルツリーを辿ります |
File::Glob | BSD グロブ用のPerl 拡張です |
File::Path | 一連のディレクトリを作成・削除します |
File::Spec | ファイル名に関して移植性ある操作を提供します |
File::Spec::Functions | File::Spec モジュールに対する関数呼び出しインタフェイスです |
File::Spec::Mac | File::Spec のMacOS 版です |
File::Spec::OS2 | File::Spec のOS2 版です |
File::Spec::Unix | File::Spec です |
File::Spec::VMS | File::Spec のVMS 版です |
File::Spec::Win32 | File::Spec のWin32 版です |
File::stat | 名前によるPerl の組み込み関数stat に対するインタフェイスです |
FileCache | システムの制限よりも多くのファイルをオープンします |
FileHandle | ファイルハンドルのためのオブジェクトメソッドを提供します |
FindBin | Perl スクリプトが格納されているディレクトリを探します |
GDBM_File | tie によってGDBM ライブラリに対するアクセスします |
Getopt::Long | 拡張されたコマンドラインオプションの処理です |
Getopt::Std | まとまったスイッチのある一文字スイッチの処理です |
I18N::Collate | 8ビットのスカラーデータを、カレントのロカールに従って比較します |
IO | 様々なIO モジュールをロードします |
IO::Dir | ディレクトリハンドル用のオブジェクトメソッドを提供します |
IO::File | ファイルハンドルのためのオブジェクトメソッドを提供します |
IO::Handle | I/O ハンドルのためのオブジェクトメソッドを提供します |
IO::Pipe | パイプのためのオブジェクトメソッドを提供します |
IO::Poll | システムpoll 呼び出しへのオブジェクト・インタフェイスです |
IO::Seekable | I/O オブジェクトのためのseek ベースのメソッドを提供します |
IO::Select | select システムコールに対するOO インタフェイスです |
IO::Socket | ソケット通信のオブジェクトインタフェイスです |
IO::Socket::INET | AF_INET ドメインソケット通信のオブジェクトインタフェイス |
IO::Socket::UNIX | AF_UNIX ドメインソケット通信のオブジェクトインタフェイス |
IPC::Msg | SysV Msg IPC のオブジェクトクラスです |
IPC::Open2 | 読み込みと書き込みの両方のためにプロセスをオープンします |
IPC::Open3 | 読み込み、書き込み、エラー処理のためにプロセスをオープンします |
IPC::Semaphore | SysV のセマフォIPC のオブジェクトクラスです |
IPC::SysV | SysV のIPC 関連定数です |
Math::BigFloat | 多倍長実数の数学パッケージです |
Math::BigInt | 多倍長整数の数学パッケージです |
Math::Complex | 複素数とそれに関連する数学的な関数です |
Math::Trig | 実数に対する三角関数のみを必要とする人のためのMath::Complex の一部分に対する単純なインタフェイスです |
Net::Ping | ホストへのPING をチェックします |
Net::hostent | Perl の組み込み関数gethost*() に対する名前によるインタフェイスです |
Net::netent | Perl の組み込み関数getnet*() に対する名前によるインタフェイスです |
Net::protoent | Perl の組み込み関数getproto*() に対する名前によるインタフェイスです |
Net::servent | Perl の組み込み関数getserv*() に対する名前によるインタフェイスです |
O | Perl コンパイラバックエンドのインタフェイスです |
Opcode | Perl プログラムのコンパイルや実行のときに 名前の付いたオペコードを禁止します |
POSIX | IEEE 規格1003.1 に対するインターフェース |
Pod::Checker | POD ドキュメントのシンタックスエラーのチェック |
Pod::Functions | pod からHTML への変換処理に使用されます |
Pod::Html | POD ファイルからHTML への変換を行います |
Pod::InputObjects | pod 入力パラグラフ、コマンドなどを表わすオブジェクトです |
Pod::Man | POD データをフォーマットされた*roff 入力に変換します |
Pod::Parser | POD フィルタと変換を行うベースクラスです |
Pod::Select | 入力からPOD のセクションを選択します |
Pod::Text | POD データを整形されたASCII テキストに変換します |
Pod::Text::Color | POD データを整形されたASCII テキストに変換します |
Pod::Usage | 埋め込まれたPOD の使用法を出力します |
SDBM_File | tie によってSDBM ファイルにアクセスします |
Safe | 制限された領域でプログラムのコンパイルと実行を行います |
Search::Dict | 辞書ファイルにあるキーを検索します |
SelectSaver | 選択されたファイルハンドルの保存と復帰を行います |
SelfLoader | 必要な関数のみをロードします |
Shell | Perl の中から透過的にシェルコマンドを実行します |
Socket | C のsocket.h にある定数定義と構造体操作用関数をロードします |
Symbol | Perl のシンボルとその名前を操作します |
Sys::Hostname | ホスト名を取得する考えられるすべての方法を試します |
Sys::Syslog | UNIX のsyslog コールに対するインタフェイスです |
Term::Cap | termcap インタフェイスです |
Term::Complete | 単語の補完モジュールです |
Term::ReadLine | 様々なReadLine パッケージに対するインタフェイスです |
Test | テストスクリプトを書くためのフレームワークです |
Test::Harness | Perl の標準テストスクリプトを統計を取りながら実行します |
Text::Abbrev | リストから略語テーブルを作成します |
Text::ParseWords | テキストを解析してトークンの配列にします |
Text::Soundex | Soundex アルゴリズムを実装したものです |
Text::Wrap | 単純なパラグラフに対する行ラッピングです |
Tie::Array | タイ配列に用のベースクラス定義です |
Tie::Handle | タイハンドル用のベースクラス定義です |
Tie::Hash | タイハッシュ用のベースクラス定義です |
Tie::RefHash | リファレンスをキーとして使っているタイハッシュに対するベースクラス定義です |
Tie::Scalar | タイスカラ用のベースクラス定義です |
Tie::SubstrHash | テーブルサイズ固定、キー長固定のハッシングです |
Time::gmtime | Perl の組み込み関数gmtime に対する名前によるインタフェイスです |
Time::Local | local からGMT 時刻への効率良い計算です |
Time::localtime | Perl の組み込み関数localtime に対する名前によるインタフェイスです |
Time::tm | Time::gmtime やTime::localtime によって使われる内部的なオブジェクトです |
UNIVERSAL | すべてのクラスのためのベースクラス(bless されたリファレンス)です |
User::grent | Perl の組み込み関数getgr*() に対する名前によるインタフェイスです |
User::pwent | Perl の組み込み関数getpw*() に対する名前によるインタフェイスです |
システムにインストールされているドキュメントのないものや標準リリースにはないものを含めたすべてのモジュールを見つけ出すためには、以下のようにします。
% find `perl -e 'print "@INC"'` -name '*.pm' -print
プラグマモジュール
プラグマは、プログラムの実行時以外に、コンパイルの際にも作用するモジュールです。このため、通常はuse
もしくはno
と一緒に使われたときにだけ働きます。これらのほとんどはレキシカルスコープなので、内側のブロックでは以下のようにして取り消すことができます。
no integer;
no strict 'refs';
ブロックの終端まで有効です。
- レキシカルスコープ
- 変数にアクセスできる範囲。レキシカルスコープの場合、変数が定義されているブロックの範囲内でしか、その変数にアクセスすることができない。
プログマの名前には、慣例的に小文字を使うことになっています。「標準モジュール一覧」で小文字表記のものは、すべてプラグマです。
use vars
や use
を使った変数の宣言は、ブロックに影響されません。これらを使った宣言は、その宣言がなされたファイル全体に影響を及ぼします。
subsno
や
varsno subs
によって無効にすることはできません。
プラグマモジュールの一覧
以下に挙げるようなプラグマが定義されています。
プラグマ名 | 説明 |
---|---|
autouse | 関数が使用されるまでモジュールのロードを待ちます |
blib | MakeMaker の、パッケージのインストールされていないバージョンをコンパイル時に使うために@INC を操作します |
diagnostics | 冗長な警告検査を強制します |
integer | 数値演算を、倍精度実数ではなく整数で行ないます |
less | 資源の消費量を減らすようコンパイラに要求します |
lib | コンパイル時に@INC を操作します |
locale | 組み込み演算にPOSIX ロケールを使用するかを指定します |
ops | コンパイル時に、安全でないオペレータの使用を制限します |
overload | 基本的なPerl 演算をオーバーロードします |
re | 正規表現の動作を変更します |
sigtrap | 単純なシグナルハンドリングを有効にします |
strict | 安全でないコンストラクトを制限します |
subs | サブルーチンの名前をあらかじめ宣言します |
vmsish | 幾つかのVMS 固有の言語機能を有効にします |
vars | グローバル変数名をあらかじめ宣言します |