=encoding euc-jp =for maintainers Generated by perlmodlib.PL -- DO NOT EDIT! =head1 NAME =begin original perlmodlib - constructing new Perl modules and finding existing ones =end original perlmodlib - 新たな Perl モジュールを作ったり、既にあるものを検索する =head1 THE PERL MODULE LIBRARY =begin original Many modules are included in the Perl distribution. These are described below, and all end in F<.pm>. You may discover compiled library files (usually ending in F<.so>) or small pieces of modules to be autoloaded (ending in F<.al>); these were automatically generated by the installation process. You may also discover files in the library directory that end in either F<.pl> or F<.ph>. These are old libraries supplied so that old programs that use them still run. The F<.pl> files will all eventually be converted into standard modules, and the F<.ph> files made by B will probably end up as extension modules made by B. (Some F<.ph> values may already be available through the POSIX, Errno, or Fcntl modules.) The B file in the distribution may help in your conversion, but it's just a mechanical process and therefore far from bulletproof. =end original Perlの配布パッケージには、たくさんのモジュールが含まれています。 そのようなモジュールは後で説明しますが、 そのファイル名の終端は全て F<.pm> になっています。 コンパイルされたライブラリファイル(普通は F<.so> で終わっています) や autoload されるべきモジュールの小さい断片 (F<.al> で終わっています) を 発見するかもしれません; これらはインストール処理によって自動的に 生成されます。 同様に、F<.pl> や F<.ph> で終わっているものを ライブラリディレクトリで発見するかもしれません。 これらのファイルは古いライブラリで、これを使う古いプログラムは今でも 実行可能です。 F<.pl> ファイルは、最終的には標準モジュールへと変換され、 B によって作成された F<.ph> ファイルは B によって 作成された拡張モジュールのようになるでしょう(幾つかの F<.ph> の値は既に POSIX, Errno, Fcntl モジュールを通じて入手可能です)。 配布パッケージにあるファイル B はあなたの変換作業を助けてくれるかも しれませんが、これは機械的に処理するもので完全なものには程遠いものです。 =head2 Pragmatic Modules (プラグマモジュール) =begin original They work somewhat like compiler directives (pragmata) in that they tend to affect the compilation of your program, and thus will usually work well only when used within a C, or C. Most of these are lexically scoped, so an inner BLOCK may countermand them by saying: =end original これはあなたのプログラムのコンパイルに影響を及ぼすコンパイラ指示子 (プラグマタ)のように動作します。 このため、通常は C もしくは C と一緒に使われたときにだけ働きます。 これらのほとんどはレキシカルなスコープなので、内側のブロックでは 以下のようにして取り消すことができます: no integer; no strict 'refs'; no warnings; =begin original which lasts until the end of that BLOCK. =end original これは BLOCK の終端まで有効です。 =begin original Some pragmas are lexically scoped--typically those that affect the C<$^H> hints variable. Others affect the current package instead, like C and C, which allow you to predeclare a variables or subroutines within a particular I rather than just a block. Such declarations are effective for the entire file for which they were declared. You cannot rescind them with C or C. =end original いくつかのプラグマはレキシカルスコープを持ちます -- 典型的には C<$^H> ヒント変数に影響を与えます。 その他のものは、C や C のように、代わりに現在の パッケージに影響を与えます; これによって、単に一つのブロックではなく 特定の I<ファイル> の中に変数やサブルーチンを事前宣言できます。 このような宣言は、ファイル全体に宣言したい場合に効果的です。 これは C や C で撤回できません。 =begin original The following pragmas are defined (and have their own documentation). =end original 以下のプラグマが定義されています(そして独自のドキュメントがあります)。 =over 12 =item attributes =begin original Get/set subroutine or variable attributes =end original サブルーチンや変数の属性を取得・設定する =item attrs =begin original Set/get attributes of a subroutine (deprecated) =end original サブルーチンの属性をを取得・設定する(古いもの) =item autouse =begin original Postpone load of modules until a function is used =end original モジュールの読み込みを、関数が使われるまで延期する =item base =begin original Establish IS-A relationship with base classes at compile time =end original コンパイル時にベースクラスを使って IS-A 関係を構築する =item bigint =begin original Transparent BigInteger support for Perl =end original Perl のための透過的な BigInteger サポート =item bignum =begin original Transparent BigNumber support for Perl =end original Perl のための透過的な BigNumber サポート =item bigrat =begin original Transparent BigNumber/BigRational support for Perl =end original Perl のための透過的な BigNumber/BigRational サポート =item blib =begin original Use MakeMaker's uninstalled version of a package =end original MakeMaker の、パッケージのインストールされていないバージョンを使う =item bytes =begin original Force byte semantics rather than character semantics =end original 文字単位ではなくバイト単位であることを強制する =item charnames =begin original Define character names for C<\N{named}> string literal escapes =end original C<\N{named}> 文字リテラルエスケープのための文字名を定義する =item constant =begin original Declare constants =end original 定数を宣言する =item diagnostics =begin original Produce verbose warning diagnostics =end original 冗長な警告検査を出力する =item encoding =begin original Allows you to write your script in non-ascii or non-utf8 =end original 非 ascii や 非 utf8 でスクリプトを書けるようにする =item fields =begin original Compile-time class fields =end original コンパイル時のクラスフィールド =item filetest =begin original Control the filetest permission operators =end original ファイルテストパーミッション演算子を制御する =item if =begin original C a Perl module if a condition holds =end original 条件を満たした時にだけ Perl モジュールを C する =item integer =begin original Use integer arithmetic instead of floating point =end original 数値演算を、浮動小数点数ではなく整数で行う =item less =begin original Request less of something from the compiler =end original コンパイラから、より少ない何かを要求する =item lib =begin original Manipulate @INC at compile time =end original コンパイル時に @INC を操作する =item locale =begin original Use and avoid POSIX locales for built-in operations =end original 組み込み演算に対しての POSIX ロケールを使ったり、無視したりする =item open =begin original Set default PerlIO layers for input and output =end original 入出力のためのデフォルト PerlIO 層をセットする =item ops =begin original Restrict unsafe operations when compiling =end original コンパイル時に、安全でない操作を制限する =item overload =begin original Package for overloading Perl operations =end original Perl 演算をオーバーロードするパッケージ =item re =begin original Alter regular expression behaviour =end original 正規表現の動作を変更する =item sigtrap =begin original Enable simple signal handling =end original 単純なシグナルハンドリングを有効にする =item sort =begin original Control sort() behaviour =end original sort() の振る舞いを制御する =item strict =begin original Restrict unsafe constructs =end original 安全でないコンストラクトを制限する =item subs =begin original Predeclare sub names =end original サブルーチンの名前を先行宣言する =item threads =begin original Perl extension allowing use of interpreter based threads from perl =end original perl のインタプリタベースのスレッドを使用できるようにする Perl 拡張 =item threads::shared =begin original Perl extension for sharing data structures between threads =end original スレッド間でデータ構造を共有する Perl 拡張 =item utf8 =begin original Enable/disable UTF-8 (or UTF-EBCDIC) in source code =end original ソースコードでの UTF-8 (または UTF-EBCDIC) を有効/無効にする =item vars =begin original Predeclare global variable names (obsolete) =end original 大域変数名を先行宣言する(古いもの) =item vmsish =begin original Control VMS-specific language features =end original VMS固有の言語仕様を制御する =item warnings =begin original Control optional warnings =end original 追加の警告を制御する =item warnings::register =begin original Warnings import function =end original インポート関数の警告 =back =head2 Standard Modules (標準モジュール) =begin original Standard, bundled modules are all expected to behave in a well-defined manner with respect to namespace pollution because they use the Exporter module. See their own documentation for details. =end original 標準でバンドルされている名前空間の汚染を考慮する良く定義されたマナーに 基づいた振る舞いを期待されるモジュールです。 これは Exporter モジュールを使っているからです。 詳細についてはそれぞれのドキュメントを参照してください。 =begin original It's possible that not all modules listed below are installed on your system. For example, the GDBM_File module will not be installed if you don't have the gdbm library. =end original 以下にリストされたモジュールが全てはインストールされていない可能性が あります。 例えば、GDBM_File モジュールは gdbm ライブラリがなければ インストールされません。 =over 12 =item AnyDBM_File =begin original Provide framework for multiple DBMs =end original 複数のDBMに対するフレームワークを提供する =item Attribute::Handlers =begin original Simpler definition of attribute handlers =end original 属性ハンドラのより単純な定義 =item AutoLoader =begin original Load subroutines only on demand =end original 要求されたサブルーチンのみをロードする =item AutoSplit =begin original Split a package for autoloading =end original autoloadingのためにパッケージを分割する =item B =begin original The Perl Compiler =end original Perl コンパイラ =item B::Asmdata =begin original Autogenerated data about Perl ops, used to generate bytecode =end original バイトコードを生成するための、Perl の演算子に関する自動生成されたデータ =item B::Assembler =begin original Assemble Perl bytecode =end original Perl バイトコードをアセンブルする =item B::Bblock =begin original Walk basic blocks =end original 基本ブロックを辿る =item B::Bytecode =begin original Perl compiler's bytecode backend =end original Perl コンパイラのバイトコードバックエンド =item B::C =begin original Perl compiler's C backend =end original Perl コンパイラの C バックエンド =item B::CC =begin original Perl compiler's optimized C translation backend =end original Perl コンパイラの、最適化された C 変換バックエンド =item B::Concise =begin original Walk Perl syntax tree, printing concise info about ops =end original Perl の構文木を辿り、演算子に関する簡潔な情報を表示する =item B::Debug =begin original Walk Perl syntax tree, printing debug info about ops =end original Perl の構文木を辿り、演算子に関するデバッグ情報を表示する =item B::Deparse =begin original Perl compiler backend to produce perl code =end original perl コードを出力するための Perl コンパイラのバックエンド =item B::Disassembler =begin original Disassemble Perl bytecode =end original Perl バイトコードを逆アセンブルする =item B::Lint =begin original Perl lint =end original Perl の lint =item B::Showlex =begin original Show lexical variables used in functions or files =end original 関数やファイルで使われているレキシカル変数を表示する =item B::Stackobj =begin original Helper module for CC backend =end original CC バックエンドのヘルパーモジュール =item B::Stash =begin original Show what stashes are loaded =end original どの stash が読み込まれたかを表示する =item B::Terse =begin original Walk Perl syntax tree, printing terse info about ops =end original Perl 構文木を辿って、演算子に関する簡潔な説明を表示する =item B::Xref =begin original Generates cross reference reports for Perl programs =end original Perl プログラムのためのクロスリファレンスレポートを生成する =item Benchmark =begin original Benchmark running times of Perl code =end original Perl コードの実行時間のベンチマーク =item ByteLoader =begin original Load byte compiled perl code =end original バイトコンパイルした perl コードを読み込む =item CGI =begin original Simple Common Gateway Interface Class =end original シンプルな Common Gateway Interface クラス =item CGI::Apache =begin original Backward compatibility module for CGI.pm =end original CGI.pm のための過去互換性モジュール =item CGI::Carp =begin original CGI routines for writing to the HTTPD (or other) error log =end original HTTPD(またはその他の)エラーログを書くための CGI ルーチン =item CGI::Cookie =begin original Interface to Netscape Cookies =end original Netscape Cookies へのインターフェース =item CGI::Fast =begin original CGI Interface for Fast CGI =end original Fast CGI のための CGI インターフェース =item CGI::Pretty =begin original Module to produce nicely formatted HTML code =end original いい感じにフォーマットされた HTML コードを生成するモジュール =item CGI::Push =begin original Simple Interface to Server Push =end original サーバープッシュのためのシンプルなインターフェース =item CGI::Switch =begin original Backward compatibility module for defunct CGI::Switch =end original 今はなき CGI::Switch モジュールのための過去互換性モジュール =item CGI::Util =begin original Internal utilities used by CGI module =end original CGI モジュールで使われる内部ユーティリティ =item CPAN =begin original Query, download and build perl modules from CPAN sites =end original CPAN サイトから perl モジュールを問い合わせ、ダウンロード、ビルドする =item CPAN::FirstTime =begin original Utility for CPAN::Config file Initialization =end original CPAN::Config ファイル初期化のためのユーティリティ =item CPAN::Nox =begin original Wrapper around CPAN.pm without using any XS module =end original XS モジュールを使わない CPAN.pm のラッパ =item CPAN::Version =begin original Utility functions to compare CPAN versions =end original CPAN バージョンを比較するためのユーティリティ関数 =item Carp =begin original Warn of errors (from perspective of caller) =end original エラーの警告(呼び出し側の視点から) =item Carp::Heavy =begin original Heavy machinery, no user serviceable parts inside =end original 重機であり、内部にユーザーが使える部分はない =item Class::ISA =begin original Report the search path for a class's ISA tree =end original クラスの ISA 木の検索パスを報告する =item Class::Struct =begin original Declare struct-like datatypes as Perl classes =end original 構造体に似たデータ型を Perl クラスとして宣言する =item Config =begin original Access Perl configuration information =end original Perlのコンフィグレーション情報にアクセスする =item Cwd =begin original Get pathname of current working directory =end original カレントの作業ディレクトリのパス名を取得する =item DB =begin original Programmatic interface to the Perl debugging API (draft, subject to =end original Perl デバッグ API へのプログラム可能なインターフェース =item DBM_Filter =begin original Filter DBM keys/values =end original フィルタ DBM キー/値 =item DB_File =begin original Perl5 access to Berkeley DB version 1.x =end original Berkeley DB バージョン 1.x に対する Perl5 アクセス =item Data::Dumper =begin original Stringified perl data structures, suitable for both printing and C =end original 表示と C に適した文字列化 perl データ構造 =item Devel::DProf =begin original A Perl code profiler =end original Perl コードプロファイラ =item Devel::PPPort =begin original Perl/Pollution/Portability =end original Perl/Pollution/Portability =item Devel::Peek =begin original A data debugging tool for the XS programmer =end original XS プログラマのためのデータデバッグツール =item Devel::SelfStubber =begin original Generate stubs for a SelfLoading module =end original SelfLoading モジュールに対するスタブを生成する =item Digest =begin original Modules that calculate message digests =end original メッセージダイジェストを計算するモジュール =item Digest::MD5 =begin original Perl interface to the MD5 Algorithm =end original MD5 アルゴリズムへの Perl インターフェース =item Digest::base =begin original Digest base class =end original Digest 基底クラス =item Digest::file =begin original Calculate digests of files =end original ファイルのダイジェストを計算する =item DirHandle =begin original Supply object methods for directory handles =end original ディレクトリハンドル用のオブジェクトメソッドを提供する =item Dumpvalue =begin original Provides screen dump of Perl data. =end original Perl データのスクリーンダンプを提供する =item DynaLoader =begin original Dynamically load C libraries into Perl code =end original Cのライブラリを動的にPerlプログラムにロードする =item Encode =begin original Character encodings =end original 文字エンコーディング =item Encode::Alias =begin original Alias definitions to encodings =end original エンコーディングへの別名定義 =item Encode::Byte =begin original Single Byte Encodings =end original 単一バイトエンコーディング =item Encode::CJKConstants =begin original Internally used by Encode::??::ISO_2022_* =end original Encode::??::ISO_2022_* によって内部で使用されている =item Encode::CN =begin original China-based Chinese Encodings =end original 中国での中国語エンコーディング =item Encode::CN::HZ =begin original Internally used by Encode::CN =end original Encode::CN によって内部で使用されている =item Encode::Config =begin original Internally used by Encode =end original Encode によって内部で使用されている =item Encode::EBCDIC =begin original EBCDIC Encodings =end original EBCDIC エンコーディング =item Encode::Encoder =begin original Object Oriented Encoder =end original オブジェクト指向のエンコーダ =item Encode::Encoding =begin original Encode Implementation Base Class =end original Encode 実装基底クラス =item Encode::Guess =begin original Guesses encoding from data =end original データからエンコーディングを推測する =item Encode::JP =begin original Japanese Encodings =end original 日本語エンコーディング =item Encode::JP::H2Z =begin original Internally used by Encode::JP::2022_JP* =end original Encode::JP::2022_JP* によって内部で使用されている =item Encode::JP::JIS7 =begin original Internally used by Encode::JP =end original Encode::JP によって内部で使用されている =item Encode::KR =begin original Korean Encodings =end original 韓国語エンコーディング =item Encode::KR::2022_KR =begin original Internally used by Encode::KR =end original Encode::KR によって内部で使用されている =item Encode::MIME::Header =begin original MIME 'B' and 'Q' header encoding =end original MIME 'B' ヘッダと MIME 'Q' ヘッダのエンコーディング =item Encode::PerlIO =begin original A detailed document on Encode and PerlIO =end original Encode と PerlIO の詳細ドキュメント =item Encode::Supported =begin original Encodings supported by Encode =end original Encode で対応しているエンコーディング =item Encode::Symbol =begin original Symbol Encodings =end original シンボルエンコーディング =item Encode::TW =begin original Taiwan-based Chinese Encodings =end original 台湾での中国語エンコーディング =item Encode::Unicode =begin original Various Unicode Transformation Formats =end original 様々な Unicode 変換形式 =item Encode::Unicode::UTF7 =begin original UTF-7 encoding =end original UTF-7 エンコーディング =item English =begin original Use nice English (or awk) names for ugly punctuation variables =end original 読みにくい句読点変数に対して読みやすい英語(もしくは awk)の名前を使う =item Env =begin original Perl module that imports environment variables as scalars or arrays =end original 環境変数をスカラ変数または配列変数としてインポートする Perl モジュール =item Errno =begin original System errno constants =end original システムの errno 定数 =item Exporter =begin original Implements default import method for modules =end original モジュールのためのデフォルト import メソッドを実装する =item Exporter::Heavy =begin original Exporter guts =end original Exporter の中身 =item ExtUtils::Command =begin original Utilities to replace common UNIX commands in Makefiles etc. =end original Makefile などの中の一般的な UNIX コマンドを置き換えるためのユーティリティ =item ExtUtils::Command::MM =begin original Commands for the MM's to use in Makefiles =end original Makefile の中で使うための MM のコマンド =item ExtUtils::Constant =begin original Generate XS code to import C header constants =end original C ヘッダ定数をインポートするための XS コードを生成する =item ExtUtils::Constant::Base =begin original Base class for ExtUtils::Constant objects =end original ExtUtils::Constant オブジェクトのための基底クラス =item ExtUtils::Constant::Utils =begin original Helper functions for ExtUtils::Constant =end original ExtUtils::Constant のためのヘルパー関数 =item ExtUtils::Constant::XS =begin original Base class for ExtUtils::Constant objects =end original ExtUtils::Constant オブジェクトのための基底クラス =item ExtUtils::Embed =begin original Utilities for embedding Perl in C/C++ applications =end original CやC++アプリケーションにPerlを組み込むためのユーティリティ =item ExtUtils::Install =begin original Install files from here to there =end original こちらからあちらにファイルをインストールする =item ExtUtils::Installed =begin original Inventory management of installed modules =end original インストールしたモジュールの目録管理 =item ExtUtils::Liblist =begin original Determine libraries to use and how to use them =end original ライブラリを使うために使用するライブラリを決定する =item ExtUtils::MM =begin original OS adjusted ExtUtils::MakeMaker subclass =end original OS によって調整した ExtUtils::MakeMaker の派生クラス =item ExtUtils::MM_AIX =begin original AIX specific subclass of ExtUtils::MM_Unix =end original AIX 固有の ExtUtils::MM_Unix の派生クラス =item ExtUtils::MM_Any =begin original Platform-agnostic MM methods =end original プラットフォームが分からない場合の MM メソッド =item ExtUtils::MM_BeOS =begin original Methods to override UN*X behaviour in ExtUtils::MakeMaker =end original ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド =item ExtUtils::MM_Cygwin =begin original Methods to override UN*X behaviour in ExtUtils::MakeMaker =end original ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド =item ExtUtils::MM_DOS =begin original DOS specific subclass of ExtUtils::MM_Unix =end original DOS 固有の ExtUtils::MM_Unix の派生クラス =item ExtUtils::MM_MacOS =begin original Once produced Makefiles for MacOS Classic =end original MacOS Classic のために一度生成された Makefile =item ExtUtils::MM_NW5 =begin original Methods to override UN*X behaviour in ExtUtils::MakeMaker =end original ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド =item ExtUtils::MM_OS2 =begin original Methods to override UN*X behaviour in ExtUtils::MakeMaker =end original ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド =item ExtUtils::MM_QNX =begin original QNX specific subclass of ExtUtils::MM_Unix =end original QNX 固有の ExtUtils::MM_Unix の派生クラス =item ExtUtils::MM_UWIN =begin original U/WIN specific subclass of ExtUtils::MM_Unix =end original U/WIN 固有の ExtUtils::MM_Unix の派生クラス =item ExtUtils::MM_Unix =begin original Methods used by ExtUtils::MakeMaker =end original ExtUtils::MakeMaker によって使用されるメソッド群 =item ExtUtils::MM_VMS =begin original Methods to override UN*X behaviour in ExtUtils::MakeMaker =end original ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド =item ExtUtils::MM_VOS =begin original VOS specific subclass of ExtUtils::MM_Unix =end original VOS 固有の ExtUtils::MM_Unix の派生クラス =item ExtUtils::MM_Win32 =begin original Methods to override UN*X behaviour in ExtUtils::MakeMaker =end original ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド =item ExtUtils::MM_Win95 =begin original Method to customize MakeMaker for Win9X =end original Win9X のために MakeMaker をカスタマイズするメソッド =item ExtUtils::MY =begin original ExtUtils::MakeMaker subclass for customization =end original カスタマイズのための ExtUtils::MakeMaker の派生クラス =item ExtUtils::MakeMaker =begin original Create a module Makefile =end original モジュールの Makefile を生成する =item ExtUtils::MakeMaker::Config =begin original Wrapper around Config.pm =end original Config.pm のラッパー =item ExtUtils::MakeMaker::FAQ =begin original Frequently Asked Questions About MakeMaker =end original MakeMaker に関するよくある質問とその答え =item ExtUtils::MakeMaker::Tutorial =begin original Writing a module with MakeMaker =end original MakeMaker でモジュールを書く =item ExtUtils::MakeMaker::bytes =begin original Version-agnostic bytes.pm =end original バージョンが分からないときの bytes.pm =item ExtUtils::MakeMaker::vmsish =begin original Platform-agnostic vmsish.pm =end original プラットフォームが分からないときの vmsish.pm =item ExtUtils::Manifest =begin original Utilities to write and check a MANIFEST file =end original MANIFEST ファイルを書き出したりチェックしたりするためのユーティリティ =item ExtUtils::Mkbootstrap =begin original Make a bootstrap file for use by DynaLoader =end original DyaLoaderによって使用されるブートストラップファイルを作成する =item ExtUtils::Mksymlists =begin original Write linker options files for dynamic extension =end original 動的拡張のためのリンカーオプションファイルを書き出す =item ExtUtils::Packlist =begin original Manage .packlist files =end original .packlist ファイルを管理する =item ExtUtils::testlib =begin original Add blib/* directories to @INC =end original @INC に blib/* ディレクトリを追加する =item Fatal =begin original Replace functions with equivalents which succeed or die =end original 成功しなければ die する等価な関数に置き換える =item Fcntl =begin original Load the C Fcntl.h defines =end original C の Fcntl.h の定義をロードする =item File::Basename =begin original Parse file paths into directory, filename and suffix. =end original ファイルパスをディレクトリ、ファイル名、拡張子にパースする =item File::CheckTree =begin original Run many filetest checks on a tree =end original 木に対して多くのファイル検査を実行する =item File::Compare =begin original Compare files or filehandles =end original ファイルやファイルハンドルを比較する =item File::Copy =begin original Copy files or filehandles =end original ファイルやファイルハンドルを複写する =item File::DosGlob =begin original DOS like globbing and then some =end original DOS 風グロブ =item File::Find =begin original Traverse a directory tree. =end original ディレクトリツリーを辿る =item File::Glob =begin original Perl extension for BSD glob routine =end original BSD グロブルーチンのための Perl エクステンション =item File::Path =begin original Create or remove directory trees =end original ディレクトリツリーを生成・削除する =item File::Spec =begin original Portably perform operations on file names =end original ファイル名に関して移植性ある操作を提供する =item File::Spec::Cygwin =begin original Methods for Cygwin file specs =end original Cygwin file specs のためのメソッド =item File::Spec::Epoc =begin original Methods for Epoc file specs =end original Epoc file specs のためのメソッド =item File::Spec::Functions =begin original Portably perform operations on file names =end original ファイル名に関して移植性ある操作を提供する =item File::Spec::Mac =begin original File::Spec for Mac OS (Classic) =end original Mac OS (Classic) のための File::Spec =item File::Spec::OS2 =begin original Methods for OS/2 file specs =end original OS/2 file specs のためのメソッド =item File::Spec::Unix =begin original File::Spec for Unix, base for other File::Spec modules =end original その他の File::Spec モジュールの基礎となる、Unix のための File::Spec =item File::Spec::VMS =begin original Methods for VMS file specs =end original VMS file specs のためのメソッド =item File::Spec::Win32 =begin original Methods for Win32 file specs =end original Win32 file specs のためのメソッド =item File::Temp =begin original Return name and handle of a temporary file safely =end original 一時ファイルの名前とハンドルを安全に返す =item File::stat =begin original By-name interface to Perl's built-in stat() functions =end original 名前による Perl の組み込み関数 stat() に対するインターフェース =item FileCache =begin original Keep more files open than the system permits =end original システムの制限よりも多くのファイルを開く =item FileHandle =begin original Supply object methods for filehandles =end original ファイルハンドルのためのオブジェクトメソッドを提供する =item Filter::Simple =begin original Simplified source filtering =end original 単純化したソースフィルタリング =item Filter::Util::Call =begin original Perl Source Filter Utility Module =end original Perl ソースフィルタユーティリティモジュール =item FindBin =begin original Locate directory of original perl script =end original オリジナルの Perl スクリプトのディレクトリ位置を特定する =item GDBM_File =begin original Perl5 access to the gdbm library. =end original gdbm ライブラリに対する Perl5 アクセス =item Getopt::Long =begin original Extended processing of command line options =end original 拡張されたコマンドラインオプションの処理 =item Getopt::Std =begin original Process single-character switches with switch clustering =end original まとまったスイッチのある一文字スイッチの処理 =item Hash::Util =begin original A selection of general-utility hash subroutines =end original 一般的なユーティリティハッシュサブルーチンの選集 =item I18N::Collate =begin original Compare 8-bit scalar data according to the current locale =end original 8 ビットのスカラデータを、カレントのロケールに従って比較する =item I18N::LangTags =begin original Functions for dealing with RFC3066-style language tags =end original RFC3066-形式の言語タグを扱うための関数 =item I18N::LangTags::Detect =begin original Detect the user's language preferences =end original ユーザーの言語プリファレンスを検出する =item I18N::LangTags::List =begin original Tags and names for human languages =end original 自然言語のためのタグと名前 =item I18N::Langinfo =begin original Query locale information =end original ロケール情報を問い合わせる =item IO =begin original Load various IO modules =end original 様々な IO モジュールをロードする =item IO::Dir =begin original Supply object methods for directory handles =end original ディレクトリハンドルのためのオブジェクトメソッドを提供する =item IO::File =begin original Supply object methods for filehandles =end original ファイルハンドルのためのオブジェクトメソッドを提供する =item IO::Handle =begin original Supply object methods for I/O handles =end original I/O ハンドルのためのオブジェクトメソッドを提供する =item IO::Pipe =begin original Supply object methods for pipes =end original パイプのためのオブジェクトメソッドを提供する =item IO::Poll =begin original Object interface to system poll call =end original システムポーリング呼び出しのためのオブジェクトインターフェース =item IO::Seekable =begin original Supply seek based methods for I/O objects =end original I/O オブジェクトのための seek ベースのメソッドを提供する =item IO::Select =begin original OO interface to the select system call =end original select システムコールに対する OO インターフェース =item IO::Socket =begin original Object interface to socket communications =end original ソケット通信のためのオブジェクトインターフェース =item IO::Socket::INET =begin original Object interface for AF_INET domain sockets =end original AF_INET ドメインソケットのためのオブジェクトインターフェース =item IO::Socket::UNIX =begin original Object interface for AF_UNIX domain sockets =end original AF_UNIX ドメインソケットのためのオブジェクトインターフェース =item IPC::Open2 =begin original Open a process for both reading and writing =end original 読み込みと書き込みの両方のためにプロセスを開く =item IPC::Open3 =begin original Open a process for reading, writing, and error handling =end original 読み込み、書き込み、エラー処理のためにプロセスを開く =item IPC::SysV =begin original SysV IPC constants =end original SysV IPC 定数 =item IPC::SysV::Msg =begin original SysV Msg IPC object class =end original SysV Msg IPC オブジェクトクラス =item IPC::SysV::Semaphore =begin original SysV Semaphore IPC object class =end original SysV Semaphore IPC オブジェクトクラス =item List::Util =begin original A selection of general-utility list subroutines =end original 一般的なユーティリティリストサブルーチンの選集 =item Locale::Constants =begin original Constants for Locale codes =end original ロケールコード定数 =item Locale::Country =begin original ISO codes for country identification (ISO 3166) =end original 国識別のための ISO コード (ISO 3166) =item Locale::Currency =begin original ISO three letter codes for currency identification (ISO 4217) =end original 通貨識別のための 3 文字 ISO コード(ISO 4217) =item Locale::Language =begin original ISO two letter codes for language identification (ISO 639) =end original 言語識別のための 2 文字 ISO コード(ISO 639) =item Locale::Maketext =begin original Framework for localization =end original 地域化のためのフレームワーク =item Locale::Maketext::TPJ13 =begin original Article about software localization =end original ソフトウェア地域化に関する記事 =item Locale::Script =begin original ISO codes for script identification (ISO 15924) =end original 文字体系識別のための ISO コード (ISO 15924) =item MIME::Base64 =begin original Encoding and decoding of base64 strings =end original base64 文字列のエンコードとデコード =item MIME::Base64::QuotedPrint =begin original Encoding and decoding of quoted-printable strings =end original quoted-printable 文字列のエンコードとデコード =item Math::BigFloat =begin original Arbitrary size floating point math package =end original 多倍長実数の数学パッケージ =item Math::BigInt =begin original Arbitrary size integer/float math package =end original 多倍長整数/浮動小数点数の数学パッケージ =item Math::BigInt::Calc =begin original Pure Perl module to support Math::BigInt =end original Math::BigInt に対応する Pure Perl モジュール =item Math::BigInt::CalcEmu =begin original Emulate low-level math with BigInt code =end original BigInt コードの低レベル計算をエミュレートする =item Math::BigRat =begin original Arbitrary big rational numbers =end original 任意桁の有理数 =item Math::Complex =begin original Complex numbers and associated mathematical functions =end original 複素数とそれに関連する数学的な関数 =item Math::Trig =begin original Trigonometric functions =end original 三角関数 =item Memoize =begin original Make functions faster by trading space for time =end original メモリを犠牲にして関数を高速化する =item Memoize::AnyDBM_File =begin original Glue to provide EXISTS for AnyDBM_File for Storable use =end original Storable での使用のために AnyDBM_File に EXISTS を提供するための糊 =item Memoize::Expire =begin original Plug-in module for automatic expiration of memoized values =end original 記憶した値の自動的な破棄のためのプラグインモジュール =item Memoize::ExpireFile =begin original Test for Memoize expiration semantics =end original Memoize の破棄動作のためのテスト =item Memoize::ExpireTest =begin original Test for Memoize expiration semantics =end original Memoize の破棄動作のためのテスト =item Memoize::NDBM_File =begin original Glue to provide EXISTS for NDBM_File for Storable use =end original Storable での使用のために NDBM_File に EXISTS を提供するための糊 =item Memoize::SDBM_File =begin original Glue to provide EXISTS for SDBM_File for Storable use =end original Storable での使用のために SDBM_File に EXISTS を提供するための糊 =item Memoize::Storable =begin original Store Memoized data in Storable database =end original 記憶したデータを Storable データベースに保管する =item NDBM_File =begin original Tied access to ndbm files =end original ndbm ファイルに対する tie されたアクセス =item NEXT =begin original Provide a pseudo-class NEXT (et al) that allows method redispatch =end original メソッドの再ディスパッチを可能にする擬似クラス NEXT(など)を提供する =item Net::Cmd =begin original Network Command class (as used by FTP, SMTP etc) =end original (FTP, SMTP などで使われる) ネットワークコマンドクラス =item Net::Config =begin original Local configuration data for libnet =end original libnet のためのローカル設定 =item Net::Domain =begin original Attempt to evaluate the current host's internet name and domain =end original 現在のホストのインターネット名とドメインを評価しようとする =item Net::FTP =begin original FTP Client class =end original FTP クライアントクラス =item Net::NNTP =begin original NNTP Client class =end original NNTP クライアントクラス =item Net::Netrc =begin original OO interface to users netrc file =end original ユーザーの netrc ファイルへの OO インターフェース =item Net::POP3 =begin original Post Office Protocol 3 Client class (RFC1939) =end original Post Office Protocol 3 (RFC1939) クライアントクラス =item Net::Ping =begin original Check a remote host for reachability =end original リモートホストへの到達性をチェックする =item Net::SMTP =begin original Simple Mail Transfer Protocol Client =end original Simple Mail Transfer Protocol クライアント =item Net::Time =begin original Time and daytime network client interface =end original time と daytime のネットワーククライアントインターフェース =item Net::hostent =begin original By-name interface to Perl's built-in gethost*() functions =end original Perl の組み込み関数 gethost*() に対する名前によるインターフェース =item Net::libnetFAQ =begin original Libnet Frequently Asked Questions =end original libnet のよくある質問と答え =item Net::netent =begin original By-name interface to Perl's built-in getnet*() functions =end original Perl の組み込み関数 getnet*() に対する名前による インターフェース =item Net::protoent =begin original By-name interface to Perl's built-in getproto*() functions =end original Perl の組み込み関数 getproto*() に対する名前による インターフェース =item Net::servent =begin original By-name interface to Perl's built-in getserv*() functions =end original Perl の組み込み関数 getserv*() に対する名前による インターフェース =item O =begin original Generic interface to Perl Compiler backends =end original Perl コンパイラバックエンドへの一般的なインターフェース =item ODBM_File =begin original Tied access to odbm files =end original odbm ファイルへの tie されたアクセス =item Opcode =begin original Disable named opcodes when compiling perl code =end original Perl プログラムのコンパイル時に 名前の付いたオペコードを禁止する =item POSIX =begin original Perl interface to IEEE Std 1003.1 =end original IEEE Standard 1003.1 に対するインターフェース =item PerlIO =begin original On demand loader for PerlIO layers and root of PerlIO::* name space =end original PerlIO 層のオンデマンドな読み込みと、PerlIO::* 名前空間のルート =item PerlIO::encoding =begin original Encoding layer =end original encoding 層 =item PerlIO::scalar =begin original In-memory IO, scalar IO =end original インメモリ IO とスカラ IO =item PerlIO::via =begin original Helper class for PerlIO layers implemented in perl =end original perl で実装されている PerlIO 層のヘルパークラス =item PerlIO::via::QuotedPrint =begin original PerlIO layer for quoted-printable strings =end original quoted-printable 文字列のための PerlIO 層 =item Pod::Checker =begin original Check pod documents for syntax errors =end original POD ドキュメントの文法エラーをチェックする =item Pod::Find =begin original Find POD documents in directory trees =end original ディレクトリツリーから POD ドキュメントを見つける =item Pod::Functions =begin original Group Perl's functions a la perlfunc.pod =end original Perl の関数を perlfunc.pod 風に集める =item Pod::Html =begin original Module to convert pod files to HTML =end original POD ファイルを HTML に変換するモジュール =item Pod::InputObjects =begin original Objects representing POD input paragraphs, commands, etc. =end original POD 入力段落、コマンドなどを表現するオブジェクト =item Pod::LaTeX =begin original Convert Pod data to formatted Latex =end original POD データをフォーマットされた Latex に変換する =item Pod::Man =begin original Convert POD data to formatted *roff input =end original POD データをフォーマットされた *roff 入力に変換する =item Pod::ParseLink =begin original Parse an LEE formatting code in POD text =end original POD テキスト中の LEE フォーマットコードをパースする =item Pod::ParseUtils =begin original Helpers for POD parsing and conversion =end original POD のパースと変換のためのヘルパークラス =item Pod::Parser =begin original Base class for creating POD filters and translators =end original POD フィルタと変換器をを作成するための基底クラス =item Pod::Perldoc::ToChecker =begin original Let Perldoc check Pod for errors =end original Perldoc に Pod のエラーをチェックさせる =item Pod::Perldoc::ToMan =begin original Let Perldoc render Pod as man pages =end original Perldoc に POD を man ページとして表現させる =item Pod::Perldoc::ToNroff =begin original Let Perldoc convert Pod to nroff =end original Perldoc に POD を nroff に変換させる =item Pod::Perldoc::ToPod =begin original Let Perldoc render Pod as ... Pod! =end original Perldoc に POD を…PODとして表現させる! =item Pod::Perldoc::ToRtf =begin original Let Perldoc render Pod as RTF =end original Perldoc に POD を RTF として表現させる =item Pod::Perldoc::ToText =begin original Let Perldoc render Pod as plaintext =end original Perldoc に POD をプレーンテキストとして表現させる =item Pod::Perldoc::ToTk =begin original Let Perldoc use Tk::Pod to render Pod =end original Perldoc に、POD の表現に Tk::Pod を使うようにさせる =item Pod::Perldoc::ToXml =begin original Let Perldoc render Pod as XML =end original Perldoc に POD を XML として表現させる =item Pod::PlainText =begin original Convert POD data to formatted ASCII text =end original POD データをフォーマットされた ASCII テキストに変換する =item Pod::Plainer =begin original Perl extension for converting Pod to old style Pod. =end original POD を古い形式の POD に変換するための Perl エクステンション =item Pod::Select =begin original Extract selected sections of POD from input =end original 入力から POD の選択した章を抽出する =item Pod::Text =begin original Convert POD data to formatted ASCII text =end original POD データを整形された ASCII テキストに変換する =item Pod::Text::Color =begin original Convert POD data to formatted color ASCII text =end original POD データを整形された色付き ASCII テキストに変換する =item Pod::Text::Overstrike =begin original Convert POD data to formatted overstrike text =end original POD データを整形された重ね打ちテキストに変換する =item Pod::Text::Termcap =begin original Convert POD data to ASCII text with format escapes =end original POD データを整形されたエスケープつきの ASCII テキストに変換する =item Pod::Usage =begin original Print a usage message from embedded pod documentation =end original 組み込みの POD ドキュメントから使用法を表示する =item SDBM_File =begin original Tied access to sdbm files =end original sdbm ファイルに対する tie されたアクセス =item Safe =begin original Compile and execute code in restricted compartments =end original 制限された領域でプログラムのコンパイルと実行を行う =item Scalar::Util =begin original A selection of general-utility scalar subroutines =end original 汎用ユーティリティスカラサブルーチンの選集 =item Search::Dict =begin original Search for key in dictionary file =end original 辞書ファイルにあるキーを検索する =item SelectSaver =begin original Save and restore selected file handle =end original 選択されたファイルハンドルの保存と復帰を行う =item SelfLoader =begin original Load functions only on demand =end original 必要な関数のみをロードする =item Shell =begin original Run shell commands transparently within perl =end original Perl の中から透過的にシェルコマンドを実行する =item Socket =begin original Load the C socket.h defines and structure manipulators =end original Cの socket.h にある定義と構造体操作子(structure manipulators)を ロードする =item Storable =begin original Persistence for Perl data structures =end original Perl データ構造の永続化 =item Switch =begin original A switch statement for Perl =end original Perl のための switch 文 =item Symbol =begin original Manipulate Perl symbols and their names =end original Perlのシンボルとその名前を操作する =item Sys::Hostname =begin original Try every conceivable way to get hostname =end original ホスト名を取得する考えられるすべての方法を試行する =item Sys::Syslog =begin original Perl interface to the UNIX syslog(3) calls =end original UNIX の syslog(3) コールに対する Perl インターフェース =item Term::ANSIColor =begin original Color screen output using ANSI escape sequences =end original ANSI エスケープシーケンスを使った色付き画面出力 =item Term::Cap =begin original Perl termcap interface =end original Perl の termcap インターフェース =item Term::Complete =begin original Perl word completion module =end original 語の補完モジュール =item Term::ReadLine =begin original Perl interface to various C packages. =end original 様々な C パッケージに対する Perl インターフェース =item Test =begin original Provides a simple framework for writing test scripts =end original テストスクリプトを書くための単純なフレームワークを提供する =item Test::Builder =begin original Backend for building test libraries =end original テストライブラリをビルドするためのバックエンド =item Test::Builder::Module =begin original Base class for test modules =end original テストモジュールの基底クラス =item Test::Builder::Tester =begin original Test testsuites that have been built with =end original ビルドされたテストスイートをテストする =item Test::Builder::Tester::Color =begin original Turn on colour in Test::Builder::Tester =end original Test::Builder::Tester を色付きにする =item Test::Harness =begin original Run Perl standard test scripts with statistics =end original Perl の標準テストスクリプトを統計を取りながら実行する =item Test::Harness::Assert =begin original Simple assert =end original 単純なアサート =item Test::Harness::Iterator =begin original Internal Test::Harness Iterator =end original Test::Harness の内部反復子 =item Test::Harness::Point =begin original Object for tracking a single test point =end original ひとつのテストポイントを追跡するためのオブジェクト =item Test::Harness::Straps =begin original Detailed analysis of test results =end original テスト結果の詳細な分析 =item Test::Harness::TAP =begin original Documentation for the TAP format =end original TAP フォーマットのドキュメント =item Test::More =begin original Yet another framework for writing test scripts =end original テストスクリプトを書くためのもう一つのフレームワーク =item Test::Simple =begin original Basic utilities for writing tests. =end original テストを書くための基本的なユーティリティ =item Test::Tutorial =begin original A tutorial about writing really basic tests =end original 本当に基本的なテストを書くためのチュートリアル =item Text::Abbrev =begin original Create an abbreviation table from a list =end original リストから略語テーブルを作成します =item Text::Balanced =begin original Extract delimited text sequences from strings. =end original 文字列からデリミタで区切られたテキスト列を抽出する =item Text::ParseWords =begin original Parse text into an array of tokens or array of arrays =end original テキストを解析してトークンの配列や配列の配列にします =item Text::Soundex =begin original Implementation of the Soundex Algorithm as Described by Knuth =end original Knuth による Soundex アルゴリズムの実装 =item Text::Tabs =begin original Expand and unexpand tabs per the unix expand(1) and unexpand(1) =end original UNIX の expand(1) や unexpand(1) のようにタブの展開やタブへの置換を行う =item Text::Wrap =begin original Line wrapping to form simple paragraphs =end original 単純なパラグラフに対する行ラッピング =item Thread =begin original Manipulate threads in Perl (for old code only) =end original Perl のスレッドを操作する (古いコード専用) =item Thread::Queue =begin original Thread-safe queues =end original スレッドセーフなキュー =item Thread::Semaphore =begin original Thread-safe semaphores =end original スレッドセーフなセマフォ =item Thread::Signal =begin original Start a thread which runs signal handlers reliably (for old code) =end original (古いコードのために) シグナルハンドラを信頼できるように実行されるスレッドを 開始する =item Thread::Specific =begin original Thread-specific keys =end original スレッド固有のキー =item Tie::Array =begin original Base class for tied arrays =end original tie された配列のためのベースクラス =item Tie::File =begin original Access the lines of a disk file via a Perl array =end original ディスクのファイルの行に Perl の配列経由でアクセスする =item Tie::Handle =begin original Base class definitions for tied handles =end original tie されたハンドルのためのベースクラスの定義 =item Tie::Hash =begin original Base class definitions for tied hashes =end original tie されたハッシュのためのベースクラス =item Tie::Memoize =begin original Add data to hash when needed =end original 必要なときにハッシュにデータを追加する =item Tie::RefHash =begin original Use references as hash keys =end original ハッシュキーとしてリファレンスを使う =item Tie::Scalar =begin original Base class definitions for tied scalars =end original tie されたスカラのための基底クラスの定義 =item Tie::SubstrHash =begin original Fixed-table-size, fixed-key-length hashing =end original テーブルサイズ固定、キー長固定のハッシング =item Time::HiRes =begin original High resolution alarm, sleep, gettimeofday, interval timers =end original 高精度の alarm, sleep, gettimeofday, 内部タイマー =item Time::Local =begin original Efficiently compute time from local and GMT time =end original local と GMT 時刻からの効率良い計算 =item Time::gmtime =begin original By-name interface to Perl's built-in gmtime() function =end original Perl の組み込み関数 gmtime() に対する名前によるインターフェース =item Time::localtime =begin original By-name interface to Perl's built-in localtime() function =end original Perl の組み込み関数 localtime() に対する名前によるインターフェース =item Time::tm =begin original Internal object used by Time::gmtime and Time::localtime =end original Time::gmtime や Time::localtime によって使われる内部的なオブジェクト =item UNIVERSAL =begin original Base class for ALL classes (blessed references) =end original すべてのクラス(bless されたリファレンス)のためのベースクラス =item Unicode::Collate =begin original Unicode Collation Algorithm =end original Unicode 照合アルゴリズム =item Unicode::Normalize =begin original Unicode Normalization Forms =end original Unicode 正規化形式 =item Unicode::UCD =begin original Unicode character database =end original Unicode 文字データベース =item User::grent =begin original By-name interface to Perl's built-in getgr*() functions =end original Perl の組み込み関数 getgr*() に対する名前によるインターフェース =item User::pwent =begin original By-name interface to Perl's built-in getpw*() functions =end original Perl の組み込み関数 getpw*() に対する名前によるインターフェース =item XS::APItest =begin original Test the perl C API =end original perl C API をテストする =item XS::Typemap =begin original Module to test the XS typemaps distributed with perl =end original perl と共に配布されている XS typemaps をテストするモジュール =item XSLoader =begin original Dynamically load C libraries into Perl code =end original C ライブラリを Perl コードに動的に読み込む =back =begin original To find out I modules installed on your system, including those without documentation or outside the standard release, just use the following command (under the default win32 shell, double quotes should be used instead of single quotes). =end original あなたの使っているシステムでインストールされているドキュメントの ないものや標準リリースにはないものを含めた I<すべての> モジュールを 見つけ出すためには、以下のコマンドを使ってください (デフォルトの win32 のシェルでは、シングルクォートの代わりに ダブルクォートを使うべきです)。 % perl -MFile::Find=find -MFile::Spec::Functions -Tlwe \ 'find { wanted => sub { print canonpath $_ if /\.pm\z/ }, no_chdir => 1 }, @INC' =begin original (The -T is here to prevent '.' from being listed in @INC.) They should all have their own documentation installed and accessible via your system man(1) command. If you do not have a B program, you can use the Perl B program instead, which generates Perl code as output you can run through perl. If you have a B program but it doesn't find your modules, you'll have to fix your manpath. See L for details. If you have no system B command, you might try the B program. =end original (ここでの -T は @INC に入っている一覧から '.' を取り除くためです。) これらはすべて独自のドキュメントをインストールして、システムの man(1) こまんどでアクセス可能なはずです。 もし B プログラムがないなら、代わりに perl で実行できる Perl コードを 生成する Perl の B プログラムが使えます。 もし B プログラムはあるけれどもモジュールが見つからない場合は、 manpath を修正する必要があります。 詳細については L を参照してください。 もしシステムの B コマンドがないなら、B プログラムを 試してみてください。 =begin original Note also that the command C gives you a (possibly incomplete) list of the modules that have been further installed on your system. (The perllocal.pod file is updated by the standard MakeMaker install process.) =end original さらに、 C というコマンドで(不完全かもしれませんが) 追加でシステムにインストールされたモジュールの一覧が表示されます。 (perllocal.pod ファイルは標準の MakeMaker によるインストール処理で 更新されます。) =head2 Extension Modules (拡張モジュール) =begin original Extension modules are written in C (or a mix of Perl and C). They are usually dynamically loaded into Perl if and when you need them, but may also be linked in statically. Supported extension modules include Socket, Fcntl, and POSIX. =end original 拡張モジュールは C(もしくは Perl と C の混合)で書かれます。 これらは普通は必要になったときに動的に Perl へロードされますが、 静的にリンクされる場合もあります。 サポートされている拡張モジュールには Socket, Fcntl, POSIX があります。 =begin original Many popular C extension modules do not come bundled (at least, not completely) due to their sizes, volatility, or simply lack of time for adequate testing and configuration across the multitude of platforms on which Perl was beta-tested. You are encouraged to look for them on CPAN (described below), or using web search engines like Alta Vista or Google. =end original 多くの良く知られた C 拡張モジュールは、そのサイズであるとか 揮発性、あるいは単純に十分なテストをする時間がなかったとか Perl がベータテストされているプラットフォームでコンフィグレーションする 時間が無かったためにバンドルされていません(少なくとも完全には)。 こういったモジュールは、CPAN (後述します) や、 Alta Vista や Google といったウェブ検索エンジンを使って探すことを お勧めします。 =head1 CPAN =begin original CPAN stands for Comprehensive Perl Archive Network; it's a globally replicated trove of Perl materials, including documentation, style guides, tricks and traps, alternate ports to non-Unix systems and occasional binary distributions for these. Search engines for CPAN can be found at http://www.cpan.org/ =end original CPAN は Perl に関する統合的な保管ネットワークを意味しています; これは、世界中に複製されている Perl に関する事柄のグローバルな コレクションで、ドキュメント、スタイルガイド、罠と技、非 Unix システムへの 移殖とそのための一時的なバイナリ配布などを含みます。 CPAN の検索エンジンは http://www.cpan.org/ にあります。 =begin original Most importantly, CPAN includes around a thousand unbundled modules, some of which require a C compiler to build. Major categories of modules are: =end original もっとも重要なことは、CPAN には配布パッケージには バンドルされていないたくさんのモジュールも含まれています; その中にはビルドに C コンパイラが必要なものもあります。 以下に挙げるのは、モジュールの大まかな分類です。 =over =item * =begin original Language Extensions and Documentation Tools =end original 言語拡張と、ドキュメントツール =item * =begin original Development Support =end original 開発サポート =item * =begin original Operating System Interfaces =end original オペレーティングシステムインターフェース =item * =begin original Networking, Device Control (modems) and InterProcess Communication =end original ネットワーク、デバイス制御(モデム)、プロセス間通信 =item * =begin original Data Types and Data Type Utilities =end original データ型と、データ型ユーティリティ =item * =begin original Database Interfaces =end original データベースインターフェース =item * =begin original User Interfaces =end original ユーザーインターフェース =item * =begin original Interfaces to / Emulations of Other Programming Languages =end original 他のプログラミング言語のエミュレーションや 他のプログラミング言語に対するインターフェース =item * =begin original File Names, File Systems and File Locking (see also File Handles) =end original ファイル名、ファイルシステム、ファイルのロッキング(ファイルハンドルも 参照してください) =item * =begin original String Processing, Language Text Processing, Parsing, and Searching =end original 文字列処理、言語テキスト(Language Text)の処理、解析、検索 =item * =begin original Option, Argument, Parameter, and Configuration File Processing =end original オプション、引数、パラメータ、ファイル処理のコンフィグレーション =item * =begin original Internationalization and Locale =end original 国際化対応とロケール =item * =begin original Authentication, Security, and Encryption =end original 認証、セキュリティ、暗号化 =item * =begin original World Wide Web, HTML, HTTP, CGI, MIME =end original World Wide Web, HTML, HTTP, CGI, MIME =item * =begin original Server and Daemon Utilities =end original サーバーやデーモンのユーティリティ =item * =begin original Archiving and Compression =end original アーカイブと圧縮 =item * =begin original Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing =end original イメージ、Pixmap、ビットマップの操作、描画 =item * =begin original Mail and Usenet News =end original メイルと Usenet ニュース =item * =begin original Control Flow Utilities (callbacks and exceptions etc) =end original 制御フローユーティリティ(コールバックや例外など) =item * =begin original File Handle and Input/Output Stream Utilities =end original ファイルハンドルや入出力ストリームのユーティリティ =item * =begin original Miscellaneous Modules =end original その他のモジュール =back =begin original The list of the registered CPAN sites as of this writing follows. Please note that the sorting order is alphabetical on fields: =end original 登録されている CPAN サイトには以下に挙げるものがあります。 ソート順はフィールド毎にアルファベット順であることに注意してください: Continent | |-->Country | |-->[state/province] | |-->ftp | |-->[http] =begin original and thus the North American servers happen to be listed between the European and the South American sites. =end original 従って、北アメリカサーバはヨーロッパと南アメリカのサイトの間に リストされてしまっています。 =begin original You should try to choose one close to you. =end original この中から最も近いものを選ぶのが良いでしょう。 =head2 Africa (アフリカ) =over 4 =item South Africa http://ftp.rucus.ru.ac.za/pub/perl/CPAN/ ftp://ftp.rucus.ru.ac.za/pub/perl/CPAN/ ftp://ftp.is.co.za/programming/perl/CPAN/ ftp://ftp.saix.net/pub/CPAN/ ftp://ftp.sun.ac.za/CPAN/CPAN/ =back =head2 Asia (アジア) =over 4 =item China http://cpan.linuxforum.net/ http://cpan.shellhung.org/ ftp://ftp.shellhung.org/pub/CPAN ftp://mirrors.hknet.com/CPAN =item Indonesia http://mirrors.tf.itb.ac.id/cpan/ http://cpan.cbn.net.id/ ftp://ftp.cbn.net.id/mirror/CPAN =item Israel ftp://ftp.iglu.org.il/pub/CPAN/ http://cpan.lerner.co.il/ http://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/ ftp://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/ =item Japan ftp://ftp.u-aizu.ac.jp/pub/CPAN ftp://ftp.kddlabs.co.jp/CPAN/ ftp://ftp.ayamura.org/pub/CPAN/ ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/ http://ftp.cpan.jp/ ftp://ftp.cpan.jp/CPAN/ ftp://ftp.dti.ad.jp/pub/lang/CPAN/ ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/ =item Malaysia http://cpan.MyBSD.org.my http://mirror.leafbug.org/pub/CPAN http://ossig.mncc.com.my/mirror/pub/CPAN =item Russian Federation http://cpan.tomsk.ru ftp://cpan.tomsk.ru/ =item Saudi Arabia ftp://ftp.isu.net.sa/pub/CPAN/ =item Singapore http://CPAN.en.com.sg/ ftp://cpan.en.com.sg/ http://mirror.averse.net/pub/CPAN ftp://mirror.averse.net/pub/CPAN http://cpan.oss.eznetsols.org ftp://ftp.oss.eznetsols.org/cpan =item South Korea http://CPAN.bora.net/ ftp://ftp.bora.net/pub/CPAN/ http://mirror.kr.FreeBSD.org/CPAN ftp://ftp.kr.FreeBSD.org/pub/CPAN =item Taiwan ftp://ftp.nctu.edu.tw/UNIX/perl/CPAN http://cpan.cdpa.nsysu.edu.tw/ ftp://cpan.cdpa.nsysu.edu.tw/pub/CPAN http://ftp.isu.edu.tw/pub/CPAN ftp://ftp.isu.edu.tw/pub/CPAN ftp://ftp1.sinica.edu.tw/pub1/perl/CPAN/ http://ftp.tku.edu.tw/pub/CPAN/ ftp://ftp.tku.edu.tw/pub/CPAN/ =item Thailand ftp://ftp.loxinfo.co.th/pub/cpan/ ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/ =back =head2 Central America (中央アメリカ) =over 4 =item Costa Rica http://ftp.ucr.ac.cr/Unix/CPAN/ ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/ =back =head2 Europe (ヨーロッパ) =over 4 =item Austria http://cpan.inode.at/ ftp://cpan.inode.at ftp://ftp.tuwien.ac.at/pub/CPAN/ =item Belgium http://ftp.easynet.be/pub/CPAN/ ftp://ftp.easynet.be/pub/CPAN/ http://cpan.skynet.be ftp://ftp.cpan.skynet.be/pub/CPAN ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/ =item Bosnia and Herzegovina http://cpan.blic.net/ =item Bulgaria http://cpan.online.bg ftp://cpan.online.bg/cpan http://cpan.zadnik.org ftp://ftp.zadnik.org/mirrors/CPAN/ http://cpan.lirex.net/ ftp://ftp.lirex.net/pub/mirrors/CPAN =item Croatia http://ftp.linux.hr/pub/CPAN/ ftp://ftp.linux.hr/pub/CPAN/ =item Czech Republic ftp://ftp.fi.muni.cz/pub/CPAN/ ftp://sunsite.mff.cuni.cz/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/ =item Denmark http://mirrors.sunsite.dk/cpan/ ftp://sunsite.dk/mirrors/cpan/ http://cpan.cybercity.dk http://www.cpan.dk/CPAN/ ftp://www.cpan.dk/ftp.cpan.org/CPAN/ =item Estonia ftp://ftp.ut.ee/pub/languages/perl/CPAN/ =item Finland ftp://ftp.funet.fi/pub/languages/perl/CPAN/ http://mirror.eunet.fi/CPAN =item France http://www.enstimac.fr/Perl/CPAN http://ftp.u-paris10.fr/perl/CPAN ftp://ftp.u-paris10.fr/perl/CPAN http://cpan.mirrors.easynet.fr/ ftp://cpan.mirrors.easynet.fr/pub/ftp.cpan.org/ ftp://ftp.club-internet.fr/pub/perl/CPAN/ http://fr.cpan.org/ ftp://ftp.lip6.fr/pub/perl/CPAN/ ftp://ftp.oleane.net/pub/mirrors/CPAN/ ftp://ftp.pasteur.fr/pub/computing/CPAN/ http://mir2.ovh.net/ftp.cpan.org ftp://mir1.ovh.net/ftp.cpan.org http://ftp.crihan.fr/mirrors/ftp.cpan.org/ ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/ http://ftp.u-strasbg.fr/CPAN ftp://ftp.u-strasbg.fr/CPAN ftp://cpan.cict.fr/pub/CPAN/ ftp://ftp.uvsq.fr/pub/perl/CPAN/ =item Germany ftp://ftp.rub.de/pub/CPAN/ ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/ ftp://ftp.uni-erlangen.de/pub/source/CPAN/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/CPAN http://pandemonium.tiscali.de/pub/CPAN/ ftp://pandemonium.tiscali.de/pub/CPAN/ http://ftp.gwdg.de/pub/languages/perl/CPAN/ ftp://ftp.gwdg.de/pub/languages/perl/CPAN/ ftp://ftp.uni-hamburg.de/pub/soft/lang/perl/CPAN/ ftp://ftp.leo.org/pub/CPAN/ http://cpan.noris.de/ ftp://cpan.noris.de/pub/CPAN/ ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/ ftp://ftp.gmd.de/mirrors/CPAN/ =item Greece ftp://ftp.acn.gr/pub/lang/perl ftp://ftp.forthnet.gr/pub/languages/perl/CPAN ftp://ftp.ntua.gr/pub/lang/perl/ =item Hungary http://ftp.kfki.hu/packages/perl/CPAN/ ftp://ftp.kfki.hu/pub/packages/perl/CPAN/ =item Iceland http://ftp.rhnet.is/pub/CPAN/ ftp://ftp.rhnet.is/pub/CPAN/ =item Ireland http://cpan.indigo.ie/ ftp://cpan.indigo.ie/pub/CPAN/ http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN http://sunsite.compapp.dcu.ie/pub/perl/ ftp://sunsite.compapp.dcu.ie/pub/perl/ =item Italy http://cpan.nettuno.it/ http://gusp.dyndns.org/CPAN/ ftp://gusp.dyndns.org/pub/CPAN http://softcity.iol.it/cpan ftp://softcity.iol.it/pub/cpan ftp://ftp.unina.it/pub/Other/CPAN/CPAN/ ftp://ftp.unipi.it/pub/mirror/perl/CPAN/ ftp://cis.uniRoma2.it/CPAN/ ftp://ftp.edisontel.it/pub/CPAN_Mirror/ http://cpan.flashnet.it/ ftp://ftp.flashnet.it/pub/CPAN/ =item Latvia http://kvin.lv/pub/CPAN/ =item Lithuania ftp://ftp.unix.lt/pub/CPAN/ =item Netherlands ftp://download.xs4all.nl/pub/mirror/CPAN/ ftp://ftp.nl.uu.net/pub/CPAN/ ftp://ftp.nluug.nl/pub/languages/perl/CPAN/ http://cpan.cybercomm.nl/ ftp://mirror.cybercomm.nl/pub/CPAN ftp://mirror.vuurwerk.nl/pub/CPAN/ ftp://ftp.cpan.nl/pub/CPAN/ http://ftp.easynet.nl/mirror/CPAN ftp://ftp.easynet.nl/mirror/CPAN http://archive.cs.uu.nl/mirror/CPAN/ ftp://ftp.cs.uu.nl/mirror/CPAN/ =item Norway ftp://ftp.uninett.no/pub/languages/perl/CPAN ftp://ftp.uit.no/pub/languages/perl/cpan/ =item Poland ftp://ftp.mega.net.pl/CPAN ftp://ftp.man.torun.pl/pub/doc/CPAN/ ftp://sunsite.icm.edu.pl/pub/CPAN/ =item Portugal ftp://ftp.ua.pt/pub/CPAN/ ftp://perl.di.uminho.pt/pub/CPAN/ http://cpan.dei.uc.pt/ ftp://ftp.dei.uc.pt/pub/CPAN ftp://ftp.nfsi.pt/pub/CPAN http://ftp.linux.pt/pub/mirrors/CPAN ftp://ftp.linux.pt/pub/mirrors/CPAN http://cpan.ip.pt/ ftp://cpan.ip.pt/pub/cpan/ http://cpan.telepac.pt/ ftp://ftp.telepac.pt/pub/cpan/ =item Romania ftp://ftp.bio-net.ro/pub/CPAN ftp://ftp.kappa.ro/pub/mirrors/ftp.perl.org/pub/CPAN/ ftp://ftp.lug.ro/CPAN ftp://ftp.roedu.net/pub/CPAN/ ftp://ftp.dntis.ro/pub/cpan/ ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/ http://cpan.ambra.ro/ ftp://ftp.ambra.ro/pub/CPAN ftp://ftp.dnttm.ro/pub/CPAN/ ftp://ftp.lasting.ro/pub/CPAN ftp://ftp.timisoara.roedu.net/mirrors/CPAN/ =item Russia ftp://ftp.chg.ru/pub/lang/perl/CPAN/ http://cpan.rinet.ru/ ftp://cpan.rinet.ru/pub/mirror/CPAN/ ftp://ftp.aha.ru/pub/CPAN/ ftp://ftp.corbina.ru/pub/CPAN/ http://cpan.sai.msu.ru/ ftp://ftp.sai.msu.su/pub/lang/perl/CPAN/ =item Slovakia ftp://ftp.cvt.stuba.sk/pub/CPAN/ =item Slovenia ftp://ftp.arnes.si/software/perl/CPAN/ =item Spain http://cpan.imasd.elmundo.es/ ftp://ftp.rediris.es/mirror/CPAN/ ftp://ftp.ri.telefonica-data.net/CPAN ftp://ftp.etse.urv.es/pub/perl/ =item Sweden http://ftp.du.se/CPAN/ ftp://ftp.du.se/pub/CPAN/ http://mirror.dataphone.se/CPAN ftp://mirror.dataphone.se/pub/CPAN ftp://ftp.sunet.se/pub/lang/perl/CPAN/ =item Switzerland http://cpan.mirror.solnet.ch/ ftp://ftp.solnet.ch/mirror/CPAN/ ftp://ftp.danyk.ch/CPAN/ ftp://sunsite.cnlab-switch.ch/mirror/CPAN/ =item Turkey http://ftp.ulak.net.tr/perl/CPAN/ ftp://ftp.ulak.net.tr/perl/CPAN ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/ =item Ukraine http://cpan.org.ua/ ftp://cpan.org.ua/ ftp://ftp.perl.org.ua/pub/CPAN/ http://no-more.kiev.ua/CPAN/ ftp://no-more.kiev.ua/pub/CPAN/ =item United Kingdom http://www.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN ftp://ftp.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN/ http://cpan.teleglobe.net/ ftp://cpan.teleglobe.net/pub/CPAN http://cpan.mirror.anlx.net/ ftp://ftp.mirror.anlx.net/CPAN/ http://cpan.etla.org/ ftp://cpan.etla.org/pub/CPAN ftp://ftp.demon.co.uk/pub/CPAN/ http://cpan.m.flirble.org/ ftp://ftp.flirble.org/pub/languages/perl/CPAN/ ftp://ftp.plig.org/pub/CPAN/ http://cpan.hambule.co.uk/ http://cpan.mirrors.clockerz.net/ ftp://ftp.clockerz.net/pub/CPAN/ ftp://usit.shef.ac.uk/pub/packages/CPAN/ =back =head2 North America (北アメリカ) =over 4 =item Canada =over 8 =item Alberta http://cpan.sunsite.ualberta.ca/ ftp://cpan.sunsite.ualberta.ca/pub/CPAN/ =item Manitoba http://theoryx5.uwinnipeg.ca/pub/CPAN/ ftp://theoryx5.uwinnipeg.ca/pub/CPAN/ =item Nova Scotia ftp://cpan.chebucto.ns.ca/pub/CPAN/ =item Ontario ftp://ftp.nrc.ca/pub/CPAN/ =back =item Mexico http://cpan.azc.uam.mx ftp://cpan.azc.uam.mx/mirrors/CPAN http://www.cpan.unam.mx/ ftp://ftp.unam.mx/pub/CPAN http://www.msg.com.mx/CPAN/ ftp://ftp.msg.com.mx/pub/CPAN/ =item United States =over 8 =item Alabama http://mirror.hiwaay.net/CPAN/ ftp://mirror.hiwaay.net/CPAN/ =item California http://cpan.develooper.com/ http://www.cpan.org/ ftp://cpan.valueclick.com/pub/CPAN/ http://www.mednor.net/ftp/pub/mirrors/CPAN/ ftp://ftp.mednor.net/pub/mirrors/CPAN/ http://mirrors.gossamer-threads.com/CPAN ftp://cpan.nas.nasa.gov/pub/perl/CPAN/ http://mirrors.kernel.org/cpan/ ftp://mirrors.kernel.org/pub/CPAN http://cpan-sj.viaverio.com/ ftp://cpan-sj.viaverio.com/pub/CPAN/ http://cpan.digisle.net/ ftp://cpan.digisle.net/pub/CPAN http://www.perl.com/CPAN/ http://www.uberlan.net/CPAN =item Colorado ftp://ftp.cs.colorado.edu/pub/perl/CPAN/ http://cpan.four10.com =item Delaware http://ftp.lug.udel.edu/pub/CPAN ftp://ftp.lug.udel.edu/pub/CPAN =item District of Columbia ftp://ftp.dc.aleron.net/pub/CPAN/ =item Florida ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/ http://mirror.csit.fsu.edu/pub/CPAN/ ftp://mirror.csit.fsu.edu/pub/CPAN/ http://cpan.mirrors.nks.net/ =item Indiana ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/ http://cpan.netnitco.net/ ftp://cpan.netnitco.net/pub/mirrors/CPAN/ http://archive.progeny.com/CPAN/ ftp://archive.progeny.com/CPAN/ http://fx.saintjoe.edu/pub/CPAN ftp://ftp.saintjoe.edu/pub/CPAN http://csociety-ftp.ecn.purdue.edu/pub/CPAN ftp://csociety-ftp.ecn.purdue.edu/pub/CPAN =item Kentucky http://cpan.uky.edu/ ftp://cpan.uky.edu/pub/CPAN/ http://slugsite.louisville.edu/cpan ftp://slugsite.louisville.edu/CPAN =item Massachusetts http://mirrors.towardex.com/CPAN ftp://mirrors.towardex.com/pub/CPAN ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/ =item Michigan ftp://cpan.cse.msu.edu/ http://cpan.calvin.edu/pub/CPAN ftp://cpan.calvin.edu/pub/CPAN =item Nevada http://www.oss.redundant.com/pub/CPAN ftp://www.oss.redundant.com/pub/CPAN =item New Jersey http://ftp.cpanel.net/pub/CPAN/ ftp://ftp.cpanel.net/pub/CPAN/ http://cpan.teleglobe.net/ ftp://cpan.teleglobe.net/pub/CPAN =item New York http://cpan.belfry.net/ http://cpan.erlbaum.net/ ftp://cpan.erlbaum.net/ http://cpan.thepirtgroup.com/ ftp://cpan.thepirtgroup.com/ ftp://ftp.stealth.net/pub/CPAN/ http://www.rge.com/pub/languages/perl/ ftp://ftp.rge.com/pub/languages/perl/ =item North Carolina http://www.ibiblio.org/pub/languages/perl/CPAN ftp://ftp.ibiblio.org/pub/languages/perl/CPAN ftp://ftp.duke.edu/pub/perl/ ftp://ftp.ncsu.edu/pub/mirror/CPAN/ =item Oklahoma ftp://ftp.ou.edu/mirrors/CPAN/ =item Oregon ftp://ftp.orst.edu/pub/CPAN =item Pennsylvania http://ftp.epix.net/CPAN/ ftp://ftp.epix.net/pub/languages/perl/ http://mirrors.phenominet.com/pub/CPAN/ ftp://mirrors.phenominet.com/pub/CPAN/ http://cpan.pair.com/ ftp://cpan.pair.com/pub/CPAN/ ftp://carroll.cac.psu.edu/pub/CPAN/ =item Tennessee ftp://ftp.sunsite.utk.edu/pub/CPAN/ =item Texas http://ftp.sedl.org/pub/mirrors/CPAN/ http://www.binarycode.org/cpan ftp://mirror.telentente.com/pub/CPAN http://mirrors.theonlinerecordstore.com/CPAN =item Utah ftp://mirror.xmission.com/CPAN/ =item Virginia http://cpan-du.viaverio.com/ ftp://cpan-du.viaverio.com/pub/CPAN/ http://mirrors.rcn.net/pub/lang/CPAN/ ftp://mirrors.rcn.net/pub/lang/CPAN/ http://perl.secsup.org/ ftp://perl.secsup.org/pub/perl/ http://noc.cvaix.com/mirrors/CPAN/ =item Washington http://cpan.llarian.net/ ftp://cpan.llarian.net/pub/CPAN/ http://cpan.mirrorcentral.com/ ftp://ftp.mirrorcentral.com/pub/CPAN/ ftp://ftp-mirror.internap.com/pub/CPAN/ =item Wisconsin http://mirror.sit.wisc.edu/pub/CPAN/ ftp://mirror.sit.wisc.edu/pub/CPAN/ http://mirror.aphix.com/CPAN ftp://mirror.aphix.com/pub/CPAN =back =back =head2 Oceania (オセアニア) =over 4 =item Australia http://ftp.planetmirror.com/pub/CPAN/ ftp://ftp.planetmirror.com/pub/CPAN/ ftp://mirror.aarnet.edu.au/pub/perl/CPAN/ ftp://cpan.topend.com.au/pub/CPAN/ http://cpan.mirrors.ilisys.com.au =item New Zealand ftp://ftp.auckland.ac.nz/pub/perl/CPAN/ =item United States http://aniani.ifa.hawaii.edu/CPAN/ ftp://aniani.ifa.hawaii.edu/CPAN/ =back =head2 South America (南アメリカ) =over 4 =item Argentina ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/ http://www.linux.org.ar/mirrors/cpan ftp://ftp.linux.org.ar/mirrors/cpan =item Brazil ftp://cpan.pop-mg.com.br/pub/CPAN/ ftp://ftp.matrix.com.br/pub/perl/CPAN/ http://cpan.hostsul.com.br/ ftp://cpan.hostsul.com.br/ =item Chile http://cpan.netglobalis.net/ ftp://cpan.netglobalis.net/pub/CPAN/ =back =head2 RSYNC Mirrors (RSYNC ミラー) www.linux.org.ar::cpan theoryx5.uwinnipeg.ca::CPAN ftp.shellhung.org::CPAN rsync.nic.funet.fi::CPAN ftp.u-paris10.fr::CPAN mir1.ovh.net::CPAN rsync://ftp.crihan.fr::CPAN ftp.gwdg.de::FTP/languages/perl/CPAN/ ftp.leo.org::CPAN ftp.cbn.net.id::CPAN rsync://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN ftp.iglu.org.il::CPAN gusp.dyndns.org::cpan ftp.kddlabs.co.jp::cpan ftp.ayamura.org::pub/CPAN/ mirror.leafbug.org::CPAN rsync.en.com.sg::CPAN mirror.averse.net::cpan rsync.oss.eznetsols.org ftp.kr.FreeBSD.org::CPAN ftp.solnet.ch::CPAN cpan.cdpa.nsysu.edu.tw::CPAN cpan.teleglobe.net::CPAN rsync://rsync.mirror.anlx.net::CPAN ftp.sedl.org::cpan ibiblio.org::CPAN cpan-du.viaverio.com::CPAN aniani.ifa.hawaii.edu::CPAN archive.progeny.com::CPAN rsync://slugsite.louisville.edu::CPAN mirror.aphix.com::CPAN cpan.teleglobe.net::CPAN ftp.lug.udel.edu::cpan mirrors.kernel.org::mirrors/CPAN mirrors.phenominet.com::CPAN cpan.pair.com::CPAN cpan-sj.viaverio.com::CPAN mirror.csit.fsu.edu::CPAN csociety-ftp.ecn.purdue.edu::CPAN =begin original For an up-to-date listing of CPAN sites, see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES . =end original 最新の CPAN サイトリストは、 http://www.cpan.org/SITES や ftp://www.cpan.org/SITES を 参照してください。 =head1 Modules: Creation, Use, and Abuse (モジュール: 作成、使用、濫用) =begin original (The following section is borrowed directly from Tim Bunce's modules file, available at your nearest CPAN site.) =end original (以下のセクションは、Tim Bunce のモジュールファイルからそのまま 借りてきたものです。 このモジュールファイルは直近の CPAN サイトで入手可能です。) =begin original Perl implements a class using a package, but the presence of a package doesn't imply the presence of a class. A package is just a namespace. A class is a package that provides subroutines that can be used as methods. A method is just a subroutine that expects, as its first argument, either the name of a package (for "static" methods), or a reference to something (for "virtual" methods). =end original Perl はパッケージを使ったクラスを実装していますが、パッケージの存在が クラスの存在を意味するということではありません。 パッケージとは単なる名前空間です。 クラスはメソッドとして使うことのできるサブルーチンを持っている パッケージです。 メソッドとは、その最初の引数としてパッケージの名前("static" メソッドの場合)か 何かのリファレンス("virtual"メソッドの場合)をとるサブルーチンです。 =begin original A module is a file that (by convention) provides a class of the same name (sans the .pm), plus an import method in that class that can be called to fetch exported symbols. This module may implement some of its methods by loading dynamic C or C++ objects, but that should be totally transparent to the user of the module. Likewise, the module might set up an AUTOLOAD function to slurp in subroutine definitions on demand, but this is also transparent. Only the F<.pm> file is required to exist. See L, L, and L for details about the AUTOLOAD mechanism. =end original モジュールとは、(規則では) ファイルと同じ(ただし.pmはない)名前の クラスと、それに加えて export されたシンボルをフェッチするために 呼び出すことができるようなクラスにあるimport メソッドを提供するものです。 このモジュールは C や C++ オブジェクトから動的にロードされる メソッドを実装することもできますが、モジュールのユーザーに対して 総合的には透過であるべきです。 同様に、モジュールはオンデマンドでサブルーチン定義を slurp するような AUTOLOAD 関数をセットアップすることもできますが、これもまた透過であるべきです。 F<.pm> ファイルだけが存在することを要求されます。 AUTOLOAD 機構に関する詳細は L, L, L を 参照してください。 =head2 Guidelines for Module Creation (モジュール作成のガイドライン) =over 4 =item * =begin original Do similar modules already exist in some form? =end original 似たようなモジュールが既にありませんか? =begin original If so, please try to reuse the existing modules either in whole or by inheriting useful features into a new class. If this is not practical try to get together with the module authors to work on extending or enhancing the functionality of the existing modules. A perfect example is the plethora of packages in perl4 for dealing with command line options. =end original もしあれば、そのモジュール全体を使うか、新たなクラスに便利な機能を 継承して、再利用することを試みてください。 もしそれが現実的でないのなら、モジュールの拡張やすでにあるモジュールの 機能の拡張を、モジュールの作者と一緒に行うことを試みてください。 完全な例は、perl4 にあるコマンドラインオプションを取り扱うための パッケージです。 =begin original If you are writing a module to expand an already existing set of modules, please coordinate with the author of the package. It helps if you follow the same naming scheme and module interaction scheme as the original author. =end original もしあなたが既に存在しているモジュールのセットを拡張するモジュールを 書こうと言うのであれば、パッケージの作者と調整してください。 あなたが元の作者と同様の命名規則やモジュール相互作用規則に従うのならば、 それが助けになります。 =item * =begin original Try to design the new module to be easy to extend and reuse. =end original 新しいモジュールを、拡張や再利用しやすいようにデザインすることを 試みてください。 =begin original Try to C (or C). Remember that you can add C to individual blocks of code that need less warnings. =end original C (または C) を試みてください。 たくさんの警告がいらないコードブロックに対しては C を追加できることも忘れないでください。 =begin original Use blessed references. Use the two argument form of bless to bless into the class name given as the first parameter of the constructor, e.g.,: =end original bless されたリファレンスを使いましょう。 コンストラクタの第一引数として渡されたクラス名に bless するために、 二引数をとる bless を使いましょう。 sub new { my $class = shift; return bless {}, $class; } =begin original or even this if you'd like it to be used as either a static or a virtual method. =end original あるいは、静的メソッドと仮想メソッドのいずれとしても使いたいので あればこうしましょう。 sub new { my $self = shift; my $class = ref($self) || $self; return bless {}, $class; } =begin original Pass arrays as references so more parameters can be added later (it's also faster). Convert functions into methods where appropriate. Split large methods into smaller more flexible ones. Inherit methods from other modules if appropriate. =end original リファレンスとして配列を渡すので、より多くのパラメータを後で追加することが 可能です(そしてこのやり方は高速でもあります)。 関数を適切なメソッドへと変換します。 大きなメソッドを小さく、より柔軟なものに分割します。 適切であれば、他のモジュールからメソッドを継承します。 =begin original Avoid class name tests like: C. Generally you can delete the C part with no harm at all. Let the objects look after themselves! Generally, avoid hard-wired class names as far as possible. =end original C のようなクラス名の検査は しないようにしましょう。 一般的に、ほとんど何の障害もなしに C の部分を削除できます。 クラス名を直接表記することはできる限り避けるようにしましょう。 =begin original Avoid C<< $r->Class::func() >> where using C<@ISA=qw(... Class ...)> and C<< $r->func() >> would work (see L for more details). =end original C<@ISA=qw(... Class ...)> や C<< $r->func() >> が使えるところでは C<< $r->Class::func() >> を使うのは避けましょう (詳しくは L を参照してください)。 =begin original Use autosplit so little used or newly added functions won't be a burden to programs that don't use them. Add test functions to the module after __END__ either using AutoSplit or by saying: =end original autosplit を使うことはあまりなく、新たに追加した関数がそれを使わない プログラムに負担を掛けることはありません。 モジュールの __END__ の後にテスト関数を追加して AutoSplit を使うか 以下のようにします: eval join('',) || die $@ unless caller(); =begin original Does your module pass the 'empty subclass' test? If you say C<@SUBCLASS::ISA = qw(YOURCLASS);> your applications should be able to use SUBCLASS in exactly the same way as YOURCLASS. For example, does your application still work if you change: C<$obj = new YOURCLASS;> into: C<$obj = new SUBCLASS;> ? =end original あなたのモジュールは 'empty subclass' テストを通過しますか? C<@SUBCLASS::ISA = qw(YOURCLASS);> といったことをしているのなら、 あなたのアプリケーションは YOURCLASS と全く同じ方法で SUBCLASS を 使えるようにすべきです。 たとえば、C<$obj = new YOURCLASS;> を C<$obj = new SUBCLASS;> へと 変更してもあなたのアプリケーションは動作しますか? =begin original Avoid keeping any state information in your packages. It makes it difficult for multiple other packages to use yours. Keep state information in objects. =end original パッケージ中でなんらかのステート情報を保持しつづけることは避けましょう。 なぜなら、それによってあなたのパッケージを他の複数のパッケージが 使うことが難しくなるからです。 ステート情報はオブジェクトに置くようにしましょう。 =begin original Always use B<-w>. =end original いつでも B<-w> を使いましょう。 =begin original Try to C (or C). Remember that you can add C to individual blocks of code that need less strictness. =end original C (もしくは C) を試しましょう。 厳密さが余り必要でない独立したブロックには C を 付加できるということを忘れないでください。 =begin original Always use B<-w>. =end original いつでも B<-w> を使いましょう。 =begin original Follow the guidelines in the perlstyle(1) manual. =end original マニュアルページ perlstyle(1) にあるガイドラインに従って下さい。 =begin original Always use B<-w>. =end original いつでも B<-w> を使いましょう。 =item * =begin original Some simple style guidelines =end original 幾つかの単純なスタイルガイドライン =begin original The perlstyle manual supplied with Perl has many helpful points. =end original Perl と一緒に提供されている perlstyle マニュアルには、多くの助けに なることが書かれています。 =begin original Coding style is a matter of personal taste. Many people evolve their style over several years as they learn what helps them write and maintain good code. Here's one set of assorted suggestions that seem to be widely used by experienced developers: =end original コーディングスタイルとは、個々人の好みの問題です。 多くの人々は自分自身のスタイルを、自分自身でプログラムを書いたり 良く書かれているプログラムを保守することを通じて学び、何年もかけて 改良しています。 以下に経験を積んだ開発者によって広く使われている提案の集まりを 示します。 =begin original Use underscores to separate words. It is generally easier to read $var_names_like_this than $VarNamesLikeThis, especially for non-native speakers of English. It's also a simple rule that works consistently with VAR_NAMES_LIKE_THIS. =end original 語を区切るのにアンダースコアを使いましょう。 一般的に言って $var_names_like_this は $VarNamesLikeThis よりも読みやすく、 特に英語を母国語にしていない人にとってはそうです。 これはまた、VAR_NAMES_LIKE_THIS のように一貫して機能する 単純なルールでもあります。 =begin original Package/Module names are an exception to this rule. Perl informally reserves lowercase module names for 'pragma' modules like integer and strict. Other modules normally begin with a capital letter and use mixed case with no underscores (need to be short and portable). =end original パッケージやモジュールの名前はこの規則の例外です。 Perl は非公式にですが、小文字だけからなるモジュール名を integer や strict のような「プラグマ」モジュールのために予約しています。 そのほかのモジュールは大文字で始まって、アンダースコアを使わない大小文字の 並びを使います(短く、可搬性があるようにする必要があります)。 =begin original You may find it helpful to use letter case to indicate the scope or nature of a variable. For example: =end original 大小文字の区別を、変数の性質だとかスコープを示すために便利に使えることに 気がついたかもしれません。 例えば: =begin original $ALL_CAPS_HERE constants only (beware clashes with Perl vars) $Some_Caps_Here package-wide global/static $no_caps_here function scope my() or local() variables =end original $ALL_CAPS_HERE 定数のみ(Perl の変数とぶつからないか注意) $Some_Caps_Here パッケージを通じてのグローバル/スタティック $no_caps_here my() や local() で宣言された関数スコープの変数 =begin original Function and method names seem to work best as all lowercase. e.g., C<< $obj->as_string() >>. =end original 関数名やメソッド名は C<< $obj->as_string() >> のようにすべて小文字に することが最善でしょう。 =begin original You can use a leading underscore to indicate that a variable or function should not be used outside the package that defined it. =end original 先頭のアンダースコアを、変数や関数をそれが定義されているパッケージの 外側では使うべきではないということを示すために 使うことができます。 =item * =begin original Select what to export. =end original エクスポートするものを選びましょう。 =begin original Do NOT export method names! =end original メソッド名をエクスポートしては B<いけません>! =begin original Do NOT export anything else by default without a good reason! =end original ちゃんとした理由なしに、何かをデフォルトでエクスポートするような ことはしては B<いけません>! =begin original Exports pollute the namespace of the module user. If you must export try to use @EXPORT_OK in preference to @EXPORT and avoid short or common names to reduce the risk of name clashes. =end original エクスポートはモジュールのユーザーの名前空間を汚染します。 エクスポートしなければならないのであれば、@EXPORT よりは むしろ @EXPORT_OK を使い、短い名前や一般的な名前がぶつかるリスクを 軽減します。 =begin original Generally anything not exported is still accessible from outside the module using the ModuleName::item_name (or C<< $blessed_ref->method >>) syntax. By convention you can use a leading underscore on names to indicate informally that they are 'internal' and not for public use. =end original 一般的には、エクスポートされていないものもモジュールの外側から アクセスすることが ModuleName::item_name (もしくは C<< $blessed_ref->method >>) 構文を使うことで可能です。 慣例により、あなたは名前の先頭にあるアンダースコアをその名前が 「内部的」なものであって、パブリックな用途のためのものではないことを 非公式に示すのに使えます。 =begin original (It is actually possible to get private functions by saying: C. But there's no way to call that directly as a method, because a method must have a name in the symbol table.) =end original (プライベートな関数は C の ようにして得ることが実際には可能です。 しかし、メソッドとして直接呼び出す方法はありません。 なぜなら、メソッドはシンボルテーブルの中で名前を 持っていなければならないからです。) =begin original As a general rule, if the module is trying to be object oriented then export nothing. If it's just a collection of functions then @EXPORT_OK anything but use @EXPORT with caution. =end original 一般的な規則として、モジュールがオブジェクト指向であろうとするなら、 なにもエクスポートしません。 モジュールが単に関数の集合であるなら、警告付きで @EXPORT を 使うのではなく、すべて @EXPORT_OK を使います。 =item * =begin original Select a name for the module. =end original モジュールのための名前を選択しましょう。 =begin original This name should be as descriptive, accurate, and complete as possible. Avoid any risk of ambiguity. Always try to use two or more whole words. Generally the name should reflect what is special about what the module does rather than how it does it. Please use nested module names to group informally or categorize a module. There should be a very good reason for a module not to have a nested name. Module names should begin with a capital letter. =end original この名前は、可能な限り説明的で、厳密な、完全なものであるべきです。 曖昧さのリスクを避けましょう。 常に二つ以上の単語を使うことを考えましょう。 一般的には、名前はそのモジュールがどのようにしているかではなく、 何をしているかという特性を反映したものであるべきです。 ネストしたモジュールを、グループに非公式な名前を付けたりモジュールを 分類するために使ってください。 ネストした名前を持たないモジュールは、そのためのきちんとした 理由を持つべきです。 モジュール名は大文字で始まるべきです。 =begin original Having 57 modules all called Sort will not make life easy for anyone (though having 23 called Sort::Quick is only marginally better :-). Imagine someone trying to install your module alongside many others. If in any doubt ask for suggestions in comp.lang.perl.misc. =end original Sort と呼ばれる 57 のモジュールをすべて持つことは、簡単なことでは ありません(Sort::Quick と呼ばれる 23 についてのみ考えることが より想像しやすいでしょう :-)。 誰かがあなたのモジュールを他の多くのモジュールと一緒に インストールすることを想像してください。 なにか疑問があれば comp.lang.perl.misc で提案してみてください。 =begin original If you are developing a suite of related modules/classes it's good practice to use nested classes with a common prefix as this will avoid namespace clashes. For example: Xyz::Control, Xyz::View, Xyz::Model etc. Use the modules in this list as a naming guide. =end original 関連したモジュール/クラスの一揃えを開発するのであれば、それは名前空間を 破壊することを防ぐような一般的なプリフィックスを持つネストした クラスを使うよい練習になるでしょう。 たとえば Xyz::Control, Xyz::View, Xyz::Model といったものです。 命名ガイドとしてこのリストにあるモジュールを使ってください。 =begin original If adding a new module to a set, follow the original author's standards for naming modules and the interface to methods in those modules. =end original ある集合に新しいモジュールを追加するのなら、元の作者の標準に従った モジュールのネーミングやメソッドのインターフェースを使ってください。 =begin original If developing modules for private internal or project specific use, that will never be released to the public, then you should ensure that their names will not clash with any future public module. You can do this either by using the reserved Local::* category or by using a category name that includes an underscore like Foo_Corp::*. =end original もしプライベートな内部やプロジェクト固有の用途のために開発中のモジュールが 決して公開されることがないなら、将来の公開モジュールと名前が 衝突しないことを確実にしてください。 これは、予約済みの Local::* カテゴリを使うか、 Foo_Corp::* のように 名前にした戦を含めることで行えます。 =begin original To be portable each component of a module name should be limited to 11 characters. If it might be used on MS-DOS then try to ensure each is unique in the first 8 characters. Nested modules make this easier. =end original モジュールの各コンポーネントを可搬性あるものにするために、名前は 11 文字以下に制限すべきでしょう。 MS-DOS 上で使われる可能性のあるものであれば、各コンポーネントが 最初の 8 文字で区別できるようにしてください。 ネストモジュールはこれを簡単にしてくれます。 =item * =begin original Have you got it right? =end original 正しくやりましたか? =begin original How do you know that you've made the right decisions? Have you picked an interface design that will cause problems later? Have you picked the most appropriate name? Do you have any questions? =end original あなたが正しい判断をしたと、どのように知りますか? 後で問題を引き起こすようなインターフェースデザインを取り除きましたか? 最も適切な名前を選択しましたか? なにか質問はありませんか? =begin original The best way to know for sure, and pick up many helpful suggestions, is to ask someone who knows. Comp.lang.perl.misc is read by just about all the people who develop modules and it's the best place to ask. =end original 確実に知る方法、そして多くの助けになる提案をとりあげる最善の方法とは、 その方法を知っている人に訊くということです。 comp.lang.perl.misc はモジュールを開発した人全てが読んでいて、 尋ねる場所には最も良い場所です。 =begin original All you need to do is post a short summary of the module, its purpose and interfaces. A few lines on each of the main methods is probably enough. (If you post the whole module it might be ignored by busy people - generally the very people you want to read it!) =end original あなたがする必要があるのは、モジュールの手短な要約、その目的と インターフェースを投稿することです。 主なメソッドのそれぞれについて二、三行あれば十分でしょう (あなたがモジュール全体を投稿したら、忙しい人 - つまりあなたが 一番読んで欲しい人達は無視してしまうかもしれません!) =begin original Don't worry about posting if you can't say when the module will be ready - just say so in the message. It might be worth inviting others to help you, they may be able to complete it for you! =end original モジュールがいつ完成するか言えなくても投稿することを 恐がることはありません。 メッセージの中でそう言えば良いのです。 誰かがあなたを助けて、完成できるようにしてくれるかもしれないのです! =item * =begin original README and other Additional Files. =end original README とその他の付加的なファイル。 =begin original It's well known that software developers usually fully document the software they write. If, however, the world is in urgent need of your software and there is not enough time to write the full documentation please at least provide a README file containing: =end original ソフトウェアの開発者は、通常自分が作ったソフトウェアの完全な ドキュメントを作成します。 しかし、世界があなたのソフトウェアすぐにでも必要にして、ドキュメントを 作成するのに十分な時間が無かったとしても、最低限 README ファイルを 含めるようにしてください。 =over 10 =item * =begin original A description of the module/package/extension etc. =end original モジュール/パッケージ/拡張などの記述。 =item * =begin original A copyright notice - see below. =end original 著作権表記 - 後述します。 =item * =begin original Prerequisites - what else you may need to have. =end original 前提条件 - 必要になるようなこと、もの。 =item * =begin original How to build it - possible changes to Makefile.PL etc. =end original ビルドの方法 - 可能な Makefile.PL などの変更。 =item * =begin original How to install it. =end original インストールの仕方。 =item * =begin original Recent changes in this release, especially incompatibilities =end original 今回のリリースであった変更点、特に非互換なもの =item * =begin original Changes / enhancements you plan to make in the future. =end original あなたが将来に向けて考えている変更や拡張。 =back =begin original If the README file seems to be getting too large you may wish to split out some of the sections into separate files: INSTALL, Copying, ToDo etc. =end original README ファイルが非常に大きくなりそうなら、それを INSTALL, Copying, ToDo などのセクションごとのファイルに分割したいと考えるかもしれません。 =over 4 =item * =begin original Adding a Copyright Notice. =end original 著作権表記の追加。 =begin original How you choose to license your work is a personal decision. The general mechanism is to assert your Copyright and then make a declaration of how others may copy/use/modify your work. =end original あなたの成果にどのようにライセンスを選択するかは個人的な決定事項です。 一般的な仕組みは、あなたの著作権を表明し、あなたの成果をどのように 他人がコピーしたり、使ったり、変更したりできるかを宣言するものです。 =begin original Perl, for example, is supplied with two types of licence: The GNU GPL and The Artistic Licence (see the files README, Copying, and Artistic, or L and L). Larry has good reasons for NOT just using the GNU GPL. =end original たとえば Perl では、二種類のライセンスを提供しています: GNU GPL と Artistic Licence (README、Copying、Artistic といったファイルや L と L を参照してください)がそれです。 Larry は単に GNU GPL だけを使わないちゃんとした理由を持っています。 =begin original My personal recommendation, out of respect for Larry, Perl, and the Perl community at large is to state something simply like: =end original Larry や Perl、Perl コミュニティに対する尊重を外しての私の個人的な お勧めは、以下の様な単純な文章です。 Copyright (c) 1995 Your Name. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =begin original This statement should at least appear in the README file. You may also wish to include it in a Copying file and your source files. Remember to include the other words in addition to the Copyright. =end original この文言が少なくとも README ファイルになければなりません。 これを、Copying というファイルやソースファイルに含めることもできます。 著作権に付け加える他の言葉を忘れないでください。 =item * =begin original Give the module a version/issue/release number. =end original モジュールに version/issue/release 番号を付ける。 =begin original To be fully compatible with the Exporter and MakeMaker modules you should store your module's version number in a non-my package variable called $VERSION. This should be a floating point number with at least two digits after the decimal (i.e., hundredths, e.g, C<$VERSION = "0.01">). Don't use a "1.3.2" style version. See L for details. =end original Exporter や MakeMaker モジュールに対する完全な互換性を持つために、 あなたは自分のモジュールのバージョン番号を、my ではないパッケージ変数 $VERSION に格納すべきです。 これは小数点の後に少なくとも二桁の数字を持った浮動小数点で あるべきものです(例: C<$VERSION = "0.01">)。 "1.3.2" という形式のバージョンは使ってはいけません。 詳しくは、L を参照してください。 =begin original It may be handy to add a function or method to retrieve the number. Use the number in announcements and archive file names when releasing the module (ModuleName-1.02.tar.Z). See perldoc ExtUtils::MakeMaker.pm for details. =end original 番号を取得するための関数やメソッドを追加するのが良いでしょう。 この番号を、アナウンスとモジュールをリリースするときのアーカイブ ファイル名 (ModuleName-1.02.tar.Z) に使います。 詳しくは ExtUtils::MakeMaker.pm を参照してください。 =item * =begin original How to release and distribute a module. =end original モジュールのリリースと配布の仕方。 =begin original It's good idea to post an announcement of the availability of your module (or the module itself if small) to the comp.lang.perl.announce Usenet newsgroup. This will at least ensure very wide once-off distribution. =end original あなたの作ったモジュールが使えるということのアナウンス(モジュールが 小さければモジュールそれ自身)を Usenet ニューズグループの comp.lang.perl.announce に投稿することは良い考えです。 これは、少なくとも広い範囲に渡る配布を保証するでしょう。 =begin original If possible, register the module with CPAN. You should include details of its location in your announcement. =end original 可能であれば、モジュールを CPAN に登録しましょう。 その場所の詳細をあなたのアナウンスに含めるべきでしょう。 =begin original Some notes about ftp archives: Please use a long descriptive file name that includes the version number. Most incoming directories will not be readable/listable, i.e., you won't be able to see your file after uploading it. Remember to send your email notification message as soon as possible after uploading else your file may get deleted automatically. Allow time for the file to be processed and/or check the file has been processed before announcing its location. =end original ftp アーカイブについて注意すべき幾つかのこと: バージョン番号を含んだ 長い説明的な名前を使ってください。 ほとんどの incoming ディレクトリは readable/listable になってはいないので、 あなたはアップロードした後でそのファイルを見ることができないでしょう。 アップロードしたら、できるだけ早く email による通知を送ることを 忘れないでください。 そうしなければあなたのファイルは自動的に削除されてしまうかもしれません。 ファイルの場所をアナウンスする前に、あなたのファイルが 処理されたりチェックされるのに時間が掛かることを考慮してください。 =begin original FTP Archives for Perl Modules: =end original Perl モジュールのための FTP アーカイブ: =begin original Follow the instructions and links on: =end original 手順に従って以下へリンクします: http://www.cpan.org/modules/00modlist.long.html http://www.cpan.org/modules/04pause.html =begin original or upload to one of these sites: =end original あるいは以下のサイトのいずれかにアップロードします: https://pause.kbx.de/pause/ http://pause.perl.org/pause/ =begin original and notify . =end original そして に通知します。 =begin original By using the WWW interface you can ask the Upload Server to mirror your modules from your ftp or WWW site into your own directory on CPAN! =end original WWW インターフェースを使うことによって、あなたのモジュールをあなたの ftp サイトや WWW サイトから CPAN のあなたのディレクトリへ ミラーリングできるかアップロードサーバーに尋ねることができます! =begin original Please remember to send me an updated entry for the Module list! =end original モジュールリストの更新されたエントリーを私に知らせることを 忘れないでください! =item * =begin original Take care when changing a released module. =end original リリースされたモジュールを変更するときには注意すること。 =begin original Always strive to remain compatible with previous released versions. Otherwise try to add a mechanism to revert to the old behavior if people rely on it. Document incompatible changes. =end original 常に以前にリリースしたバージョンとの互換性を保つように努力すること。 あるいは、ユーザーが古い振る舞いに頼っているのであれば、 そういった振る舞いを行うような機構を追加すること。 非互換な修正をドキュメント化すること。 =back =back =head2 Guidelines for Converting Perl 4 Library Scripts into Modules (Perl4 のライブラリスクリプトをモジュールに変換するガイドライン) =over 4 =item * =begin original There is no requirement to convert anything. =end original すべてを変換する必要はありません。 =begin original If it ain't broke, don't fix it! Perl 4 library scripts should continue to work with no problems. You may need to make some minor changes (like escaping non-array @'s in double quoted strings) but there is no need to convert a .pl file into a Module for just that. =end original もし不具合がないのなら、修正してはいけません! Perl 4 のライブラリにあったスクリプトは問題なしに動作するはずなのです。 幾つかのちょっとした変更(ダブルクォーテーションに囲まれた文字列中の、 配列を示すものではない @ をエスケープするとか)を行う必要があるかも しれませんが、.pl ファイルをモジュールへと変換する必要性はありません。 =item * =begin original Consider the implications. =end original 連携を考慮しましょう。 =begin original All Perl applications that make use of the script will need to be changed (slightly) if the script is converted into a module. Is it worth it unless you plan to make other changes at the same time? =end original そのスクリプトを使っている Perl アプリケーションのすべては、 スクリプトがモジュールへと変更されたならばアプリケーションも変更する 必要があるでしょう。 他の変更を同時に行うことをあなたが考えていないのなら、 それは価値あることでしょうか? =item * =begin original Make the most of the opportunity. =end original 多くの機会を得よう。 =begin original If you are going to convert the script to a module you can use the opportunity to redesign the interface. The guidelines for module creation above include many of the issues you should consider. =end original スクリプトをモジュールに変換しようというのであれば、あなたはそれを インターフェースの再デザインの機会として使うことができます。 上述した Guidelines for Module Creation にはあなたが考慮すべき事柄の 多くが含まれています。 =item * =begin original The pl2pm utility will get you started. =end original まず pl2pm ユーティリティから始めましょう。 =begin original This utility will read *.pl files (given as parameters) and write corresponding *.pm files. The pl2pm utilities does the following: =end original このユーティリティは *.pl ファイル(引数として与えます)を読み込み、 それに対応する *.pm ファイルを出力します。 pl2pm ユーティリティは以下のことを行います。 =over 10 =item * =begin original Adds the standard Module prologue lines =end original 標準的なモジュールプロローグ行の付加 =item * =begin original Converts package specifiers from ' to :: =end original パッケージ指定子の ' から :: への変更 =item * =begin original Converts die(...) to croak(...) =end original die(...) から croak() への変更 =item * =begin original Several other minor changes =end original 幾つかのちょっとした変更 =back =begin original Being a mechanical process pl2pm is not bullet proof. The converted code will need careful checking, especially any package statements. Don't delete the original .pl file till the new .pm one works! =end original pl2pm の機械的な処理は完全ではありません。 変換されたコードは、特にパッケージ文についてよくチェックしておく必要が あるでしょう。 新しい .pm がきちんと動くようになるまでは、元の .pl ファイルを 削除してはいけません! =back =head2 Guidelines for Reusing Application Code (アプリケーションプログラムの再利用のためのガイドライン) =over 4 =item * =begin original Complete applications rarely belong in the Perl Module Library. =end original 完全なアプリケーションはほとんど Perl モジュールライブラリに 属していません。 =item * =begin original Many applications contain some Perl code that could be reused. =end original 多くのアプリケーションは幾つかの再利用可能な Perl コードを 含んでいます。 =begin original Help save the world! Share your code in a form that makes it easy to reuse. =end original 世界を救うことに協力しましょう! あなたのプログラムを再利用が簡単なようにする形式で共有しましょう。 =item * =begin original Break-out the reusable code into one or more separate module files. =end original 再利用可能なプログラムを独立したモジュールファイルに分けます。 =item * =begin original Take the opportunity to reconsider and redesign the interfaces. =end original インターフェースの再検討と再設計の機会を持ちましょう。 =item * =begin original In some cases the 'application' can then be reduced to a small =end original 一部の“アプリケーション”は、 再利用可能なモジュールのトップにある =begin original fragment of code built on top of the reusable modules. In these cases the application could invoked as: =end original 小さなコード片に縮小することができます。 この場合、アプリケーションは以下の様に起動することが可能です。 % perl -e 'use Module::Name; method(@ARGV)' ... =begin original or =end original あるいは % perl -mModule::Name ... (in perl5.002 or higher) =back =head1 NOTE (注意) =begin original Perl does not enforce private and public parts of its modules as you may have been used to in other languages like C++, Ada, or Modula-17. Perl doesn't have an infatuation with enforced privacy. It would prefer that you stayed out of its living room because you weren't invited, not because it has a shotgun. =end original C++、Ada、Modula-17 といった他の言語のようにモジュールの一部分を private にするとか、public にするといったことを Perl は 強制するようなことはありません。 Perl はプライバシーを強制することに夢中になることはしません。 あなたがリビングルームの外に留まっているのはあなたが 招待されていないからで、 ショットガンを持っているからではないからです。 =begin original The module and its user have a contract, part of which is common law, and part of which is "written". Part of the common law contract is that a module doesn't pollute any namespace it wasn't asked to. The written contract for the module (A.K.A. documentation) may make other provisions. But then you know when you C that you're redefining the world and willing to take the consequences. =end original モジュールとそのユーザーは不文律の一部として、契約を交わしています。 そして、その一部は「書かれて」います。 不文律契約の一部としては、モジュールが、委譲されていない名前空間を 汚染しないことです。 モジュールのために書かれた契約(ドキュメント)は、異なる規約を 作ることが可能です。 しかしその後、あなたが世界を再定義 (redefining the world) する C を使ったときにそれによって起こる結果を 享受することを知ることになるでしょう。 =begin meta Created: KIMURA Koichi Updated: Kentaro Shirakata (5.8.8-) =end meta