標準モジュールは、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 | グローバル変数名をあらかじめ宣言します |