7部 モジュール

標準モジュール一覧

標準モジュールは、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 CGIPerl-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 CC++アプリケーションに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 @INCblib以下のディレクトリを追加します
Fatal 組み込み関数やPerlの関数でのエラーを致命的なものにします
Fcntl Cfcntl.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::SpecMacOS版です
File::Spec::OS2 File::SpecOS2版です
File::Spec::Unix File::Specです
File::Spec::VMS File::SpecVMS版です
File::Spec::Win32 File::SpecWin32版です
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 SysVIPC関連定数です
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 Csocket.hにある定数定義と構造体操作用関数をロードします
Symbol Perlのシンボルとその名前を操作します
Sys::Hostname ホスト名を取得する考えられるすべての方法を試します
Sys::Syslog UNIXsyslogコールに対するインタフェイスです
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::gmtimeTime::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 varsuse
subs
を使った変数の宣言は、ブロックに影響されません。これらを使った宣言は、その宣言がなされたファイル全体に影響を及ぼします。no
vars
no subs によって無効にすることはできません。

プラグマモジュールの一覧

以下に挙げるようなプラグマが定義されています。

プラグマ名 説明
autouse 関数が使用されるまでモジュールのロードを待ちます
blib MakeMakerの、パッケージのインストールされていないバージョンをコンパイル時に使うために@INCを操作します
diagnostics 冗長な警告検査を強制します
integer 数値演算を、倍精度実数ではなく整数で行ないます
less 資源の消費量を減らすようコンパイラに要求します
lib コンパイル時に@INCを操作します
locale 組み込み演算にPOSIXロケールを使用するかを指定します
ops コンパイル時に、安全でないオペレータの使用を制限します
overload 基本的なPerl演算をオーバーロードします
re 正規表現の動作を変更します
sigtrap 単純なシグナルハンドリングを有効にします
strict 安全でないコンストラクトを制限します
subs サブルーチンの名前をあらかじめ宣言します
vmsish 幾つかのVMS固有の言語機能を有効にします
vars グローバル変数名をあらかじめ宣言します

関連記事