5.10.1
Other versions:
5.10.0
5.8.8

名前

perlmodlib - constructing new Perl modules and finding existing ones

perlmodlib - 新たな Perl モジュールを作ったり、既にあるものを検索する

THE PERL MODULE LIBRARY

Many modules are included in the Perl distribution. These are described below, and all end in .pm. You may discover compiled library files (usually ending in .so) or small pieces of modules to be autoloaded (ending in .al); these were automatically generated by the installation process. You may also discover files in the library directory that end in either .pl or .ph. These are old libraries supplied so that old programs that use them still run. The .pl files will all eventually be converted into standard modules, and the .ph files made by h2ph will probably end up as extension modules made by h2xs. (Some .ph values may already be available through the POSIX, Errno, or Fcntl modules.) The pl2pm file in the distribution may help in your conversion, but it's just a mechanical process and therefore far from bulletproof.

Perlの配布パッケージには、たくさんのモジュールが含まれています。 そのようなモジュールは後で説明しますが、 そのファイル名の終端は全て .pm になっています。 コンパイルされたライブラリファイル(普通は .so で終わっています) や autoload されるべきモジュールの小さい断片 (.al で終わっています) を 発見するかもしれません; これらはインストール処理によって自動的に 生成されます。 同様に、.pl.ph で終わっているものを ライブラリディレクトリで発見するかもしれません。 これらのファイルは古いライブラリで、これを使う古いプログラムは今でも 実行可能です。 .pl ファイルは、最終的には標準モジュールへと変換され、 h2ph によって作成された .ph ファイルは h2xs によって 作成された拡張モジュールのようになるでしょう(幾つかの .ph の値は既に POSIX, Errno, Fcntl モジュールを通じて入手可能です)。 配布パッケージにあるファイル pl2pm はあなたの変換作業を助けてくれるかも しれませんが、これは機械的に処理するもので完全なものには程遠いものです。

プラグマモジュール

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 use, or no. Most of these are lexically scoped, so an inner BLOCK may countermand them by saying:

これはあなたのプログラムのコンパイルに影響を及ぼすコンパイラ指示子 (プラグマタ)のように動作します; このため、通常は use もしくは no と 一緒に使われたときにだけ働きます。 これらのほとんどはレキシカルなスコープなので、内側のブロックでは 以下のようにして取り消すことができます:

    no integer;
    no strict 'refs';
    no warnings;

which lasts until the end of that BLOCK.

これは BLOCK の終端まで有効です。

Some pragmas are lexically scoped--typically those that affect the $^H hints variable. Others affect the current package instead, like use vars and use subs, which allow you to predeclare a variables or subroutines within a particular file rather than just a block. Such declarations are effective for the entire file for which they were declared. You cannot rescind them with no vars or no subs.

いくつかのプラグマはレキシカルスコープを持ちます -- 典型的には $^H ヒント変数に影響を与えます。 その他のものは、use varsuse subs のように、代わりに現在の パッケージに影響を与えます; これによって、単に一つのブロックではなく 特定の ファイル の中に変数やサブルーチンを事前宣言できます。 このような宣言は、ファイル全体に宣言したい場合に効果的です。 これは no varsno subs で撤回できません。

The following pragmas are defined (and have their own documentation).

以下のプラグマが定義されています(そして独自の文書があります)。

attributes

Get/set subroutine or variable attributes

サブルーチンや変数の属性を取得・設定する

attrs

Set/get attributes of a subroutine (deprecated)

サブルーチンの属性をを取得・設定する(古いもの)

autodie

Replace functions with ones that succeed or die with lexical scope

レキシカルスコープで関数を、成功しなければ die するものに置き換える

autodie::exception

Exceptions from autodying functions.

autodie した関数からの例外。

autodie::exception::system

Exceptions from autodying system().

autodie した system() からの例外。

autodie::hints

Provide hints about user subroutines to autodie

ユーザーサブルーチンが autodie するためのヒントを提供する

autouse

Postpone load of modules until a function is used

モジュールの読み込みを、関数が使われるまで延期する

base

Establish an ISA relationship with base classes at compile time

コンパイル時に基底クラスを使って IS-A 関係を構築する

bigint

Transparent BigInteger support for Perl

Perl のための透過的な BigInteger サポート

bignum

Transparent BigNumber support for Perl

Perl のための透過的な BigNumber サポート

bigrat

Transparent BigNumber/BigRational support for Perl

Perl のための透過的な BigNumber/BigRational サポート

blib

Use MakeMaker's uninstalled version of a package

MakeMaker の、パッケージのインストールされていないバージョンを使う

bytes

Force byte semantics rather than character semantics

文字単位ではなくバイト単位であることを強制する

charnames

Define character names for \N{named} string literal escapes

\N{named} 文字リテラルエスケープのための文字名を定義する

constant

Declare constants

定数を宣言する

diagnostics

Produce verbose warning diagnostics

冗長な警告検査を出力する

encoding

Allows you to write your script in non-ascii or non-utf8

非 ascii や非 utf8 でスクリプトを書けるようにする

encoding::warnings

Warn on implicit encoding conversions

暗黙のエンコーディング変換を警告する

feature

Enable new syntactic features

新しい構文機能を有効にする

fields

Compile-time class fields

コンパイル時のクラスフィールド

filetest

Control the filetest permission operators

ファイルテストパーミッション演算子を制御する

if

use a Perl module if a condition holds

条件を満たした時にだけ Perl モジュールを use する

integer

Use integer arithmetic instead of floating point

数値演算を、浮動小数点数ではなく整数で行う

less

Request less of something

より少ない何かを要求する

lib

Manipulate @INC at compile time

コンパイル時に @INC を操作する

locale

Use and avoid POSIX locales for built-in operations

組み込み演算に対しての POSIX ロケールを使ったり、無視したりする

mro

Method Resolution Order

メソッド解決順序

open

Set default PerlIO layers for input and output

入出力のためのデフォルト PerlIO 層をセットする

ops

Restrict unsafe operations when compiling

コンパイル時に、安全でない操作を制限する

overload

Package for overloading Perl operations

Perl 演算をオーバーロードするパッケージ

overloading

Lexically control overloading

レキシカルにオーバーロードを制御する

parent

Establish an ISA relationship with base classes at compile time

コンパイル時に基底クラスを使って IS-A 関係を構築する

re

Alter regular expression behaviour

正規表現の動作を変更する

sigtrap

Enable simple signal handling

単純なシグナルハンドリングを有効にする

sort

Control sort() behaviour

sort() の振る舞いを制御する

strict

Restrict unsafe constructs

安全でないコンストラクトを制限する

subs

Predeclare sub names

サブルーチンの名前を先行宣言する

threads

Perl interpreter-based threads

Perl のインタプリタベースのスレッド

threads::shared

Perl extension for sharing data structures between threads

スレッド間でデータ構造を共有する Perl 拡張

utf8

Enable/disable UTF-8 (or UTF-EBCDIC) in source code

ソースコードでの UTF-8 (または UTF-EBCDIC) を有効/無効にする

vars

Predeclare global variable names (obsolete)

大域変数名を先行宣言する(古いもの)

version

Perl extension for Version Objects

バージョンオブジェクトのための Perl エクステンション

vmsish

Control VMS-specific language features

VMS 固有の言語仕様を制御する

warnings

Control optional warnings

追加の警告を制御する

warnings::register

Warnings import function

インポート関数の警告

標準モジュール

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.

標準でバンドルされている名前空間の汚染を考慮する良く定義されたマナーに 基づいた振る舞いを期待されるモジュールです; これは Exporter モジュールを使っているからです。 詳細についてはそれぞれのドキュメントを参照してください。

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.

以下にリストされたモジュールが全てはインストールされていない可能性が あります。 例えば、GDBM_File モジュールは gdbm ライブラリがなければ インストールされません。

AnyDBM_File

Provide framework for multiple DBMs

複数のDBMに対するフレームワークを提供する

App::Prove

Implements the prove command.

prove コマンドの実装。

App::Prove::State

State storage for the prove command.

prove コマンドの状態ストレージ。

App::Prove::State::Result

Individual test suite results.

個々のテストスイートの結果。

App::Prove::State::Result::Test

Individual test results.

個々のテストの結果。

Archive::Extract

A generic archive extracting mechanism

汎用アーカイブ展開機構

Archive::Tar

Module for manipulations of tar archives

tar アーカイブの操作のためのモジュール

Archive::Tar::File

A subclass for in-memory extracted file from Archive::Tar

Archive::Tar から、メモリの中にファイルを展開する派生クラス

Attribute::Handlers

Simpler definition of attribute handlers

属性ハンドラのより単純な定義

AutoLoader

Load subroutines only on demand

要求されたサブルーチンのみをロードする

AutoSplit

Split a package for autoloading

autoloadingのためにパッケージを分割する

B

The Perl Compiler

Perl コンパイラ

B::Concise

Walk Perl syntax tree, printing concise info about ops

Perl の構文木を辿り、演算子に関する簡潔な情報を表示する

B::Debug

Walk Perl syntax tree, printing debug info about ops

Perl の構文木を辿り、演算子に関するデバッグ情報を表示する

B::Deparse

Perl compiler backend to produce perl code

perl コードを出力するための Perl コンパイラのバックエンド

B::Lint

Perl lint

Perl の lint

B::Lint::Debug

Adds debugging stringification to B::

B:: にデバッグの文字列化を追加する

B::Showlex

Show lexical variables used in functions or files

関数やファイルで使われているレキシカル変数を表示する

B::Terse

Walk Perl syntax tree, printing terse info about ops

Perl 構文木を辿って、演算子に関する簡潔な説明を表示する

B::Xref

Generates cross reference reports for Perl programs

Perl プログラムのためのクロスリファレンスレポートを生成する

Benchmark

Benchmark running times of Perl code

Perl コードの実行時間のベンチマーク

CGI

Handle Common Gateway Interface requests and responses

Common Gateway Interface リクエストとレスポンスの管理

CGI::Apache

Backward compatibility module for CGI.pm

CGI.pm のための過去互換性モジュール

CGI::Carp

CGI routines for writing to the HTTPD (or other) error log

HTTPD(またはその他の)エラーログを書くための CGI ルーチン

CGI::Cookie

Interface to Netscape Cookies

Netscape Cookies へのインターフェース

CGI::Fast

CGI Interface for Fast CGI

Fast CGI のための CGI インターフェース

CGI::Pretty

Module to produce nicely formatted HTML code

いい感じにフォーマットされた HTML コードを生成するモジュール

CGI::Push

Simple Interface to Server Push

サーバープッシュのためのシンプルなインターフェース

CGI::Switch

Backward compatibility module for defunct CGI::Switch

今はなき CGI::Switch モジュールのための過去互換性モジュール

CGI::Util

Internal utilities used by CGI module

CGI モジュールで使われる内部ユーティリティ

CORE

Pseudo-namespace for Perl's core routines

Perl のコアルーチンのための擬似名前空間

CPAN

Query, download and build perl modules from CPAN sites

CPAN サイトから perl モジュールを問い合わせ、ダウンロード、ビルドする

CPAN::API::HOWTO

A recipe book for programming with CPAN.pm

CPAN.pm でプログラミングするためのレシピブック

CPAN::Distroprefs

Read and match distroprefs

distroprefs の読み込みとマッチング

CPAN::FirstTime

Utility for CPAN::Config file Initialization

CPAN::Config ファイル初期化のためのユーティリティ

CPAN::Kwalify

Interface between CPAN.pm and Kwalify.pm

CPAN.pm と Kwalify.pm の間のインターフェース

CPAN::Nox

Wrapper around CPAN.pm without using any XS module

XS モジュールを使わない CPAN.pm のラッパ

CPAN::Version

Utility functions to compare CPAN versions

CPAN バージョンを比較するためのユーティリティ関数

CPANPLUS

API & CLI access to the CPAN mirrors

CPAN ミラーへの API と CLI アクセス

CPANPLUS::Dist::Base

Base class for custom distribution classes

カスタム配布クラスの基底クラス

CPANPLUS::Dist::Build

CPANPLUS plugin to install packages that use Build.PL

Build.PL を使うパッケージをインストールする CPANPLUS プラグイン

CPANPLUS::Dist::Build::Constants

Constants for CPANPLUS::Dist::Build

CPANPLUS::Dist::Build のための定数

CPANPLUS::Dist::Sample

Sample code to create your own Dist::* plugin

自身の Dist::* プラグインを作成するためのサンプルコード

CPANPLUS::Internals::Source::Memory

In memory implementation

インメモリ実装

CPANPLUS::Internals::Source::SQLite

SQLite implementation

SQLite 実装

CPANPLUS::Shell::Classic

CPAN.pm emulation for CPANPLUS

CPANPLUS による CPAN.pm エミュレーション

CPANPLUS::Shell::Default::Plugins::HOWTO

Documentation on how to write your own plugins

自身のプラグインの書き方のドキュメント

Carp

Warn of errors (from perspective of caller)

エラーの警告(呼び出し側の視点から)

Carp::Heavy

Heavy machinery, no user serviceable parts inside

重機であり、内部にユーザーが使える部分はない

Class::ISA

Report the search path for a class's ISA tree

クラスの ISA 木の検索パスを報告する

Class::Struct

Declare struct-like datatypes as Perl classes

構造体に似たデータ型を Perl クラスとして宣言する

Compress::Raw::Bzip2

Low-Level Interface to bzip2 compression library

bzip2 圧縮ライブラリへの低レベルインターフェース

Compress::Raw::Bzip2::FAQ

Frequently Asked Questions about Compress::Raw::Bzip2

Compress::Raw::Bzip2 に関してよく聞かれる質問

Compress::Raw::Zlib

Low-Level Interface to zlib compression library

zlib 圧縮ライブラリへの低レベルインターフェース

Compress::Raw::Zlib::FAQ

Frequently Asked Questions about Compress::Raw::Zlib

Compress::Raw::Zlib に関してよく聞かれる質問

Compress::Zlib

Interface to zlib compression library

zlib 圧縮ライブラリへのインターフェース

Config

Access Perl configuration information

Perlのコンフィグレーション情報にアクセスする

Cwd

Get pathname of current working directory

カレントの作業ディレクトリのパス名を取得する

DB

Programmatic interface to the Perl debugging API

Perl デバッグ API へのプログラム可能なインターフェース

DBM_Filter

Filter DBM keys/values

フィルタ DBM キー/値

DBM_Filter::compress

Filter for DBM_Filter

DBM_Filter のためのフィルタ

DBM_Filter::encode

Filter for DBM_Filter

DBM_Filter のためのフィルタ

DBM_Filter::int32

Filter for DBM_Filter

DBM_Filter のためのフィルタ

DBM_Filter::null

Filter for DBM_Filter

DBM_Filter のためのフィルタ

DBM_Filter::utf8

Filter for DBM_Filter

DBM_Filter のためのフィルタ

DB_File

Perl5 access to Berkeley DB version 1.x

Berkeley DB バージョン 1.x に対する Perl5 アクセス

Data::Dumper

Stringified perl data structures, suitable for both printing and eval

表示と eval に適した文字列化 perl データ構造

Devel::DProf

A Perl code profiler

Perl コードプロファイラ

Devel::InnerPackage

Find all the inner packages of a package

あるパッケージの、全ての内部パッケージを見つける

Devel::PPPort

Perl/Pollution/Portability

Perl/汚染/移植性

Devel::Peek

A data debugging tool for the XS programmer

XS プログラマのためのデータデバッグツール

Devel::SelfStubber

Generate stubs for a SelfLoading module

SelfLoading モジュールに対するスタブを生成する

Digest

Modules that calculate message digests

メッセージダイジェストを計算するモジュール

Digest::MD5

Perl interface to the MD5 Algorithm

MD5 アルゴリズムへの Perl インターフェース

Digest::SHA

Perl extension for SHA-1/224/256/384/512

SHA-1/224/256/384/512 のための Perl エクステンション

Digest::base

Digest base class

Digest 基底クラス

Digest::file

Calculate digests of files

ファイルのダイジェストを計算する

DirHandle

Supply object methods for directory handles

ディレクトリハンドルのためのオブジェクトメソッドを提供する

Dumpvalue

Provides screen dump of Perl data.

Perl データのスクリーンダンプを提供する

DynaLoader

Dynamically load C libraries into Perl code

C ライブラリを Perl コードに動的に読み込む

Encode

Character encodings

文字エンコーディング

Encode::Alias

Alias definitions to encodings

エンコーディングへの別名定義

Encode::Byte

Single Byte Encodings

単一バイトエンコーディング

Encode::CJKConstants

Internally used by Encode::??::ISO_2022_*

Encode::??::ISO_2022_* で内部的に使われる

Encode::CN

China-based Chinese Encodings

中国での中国語エンコーディング

Encode::CN::HZ

Internally used by Encode::CN

Encode::CN で内部的に使われる

Encode::Config

Internally used by Encode

Encode で内部的に使われる

Encode::EBCDIC

EBCDIC Encodings

EBCDIC エンコーディング

Encode::Encoder

Object Oriented Encoder

オブジェクト指向エンコード

Encode::Encoding

Encode Implementation Base Class

Encode 実装基底クラス

Encode::GSM0338

ESTI GSM 03.38 Encoding

ESTI GSM 03.38 エンコーディング

Encode::Guess

Guesses encoding from data

データからエンコーディングを推測する

Encode::JP

Japanese Encodings

日本語エンコーディング

Encode::JP::H2Z

Internally used by Encode::JP::2022_JP*

Encode::JP::2022_JP* で内部的に使われる

Encode::JP::JIS7

Internally used by Encode::JP

Encode::JP で内部的に使われる

Encode::KR

Korean Encodings

韓国語エンコーディング

Encode::KR::2022_KR

Internally used by Encode::KR

Encode::KR で内部的に使われる

Encode::MIME::Header

MIME 'B' and 'Q' header encoding

MIME 'B' と 'Q' のヘッダエンコーディング

Encode::MIME::Name

Internally used by Encode

Encode で内部的に使われる

Encode::PerlIO

A detailed document on Encode and PerlIO

Encode と PerlIO の詳細な文書

Encode::Supported

Encodings supported by Encode

Encode で対応しているエンコーディング

Encode::Symbol

Symbol Encodings

シンボルエンコーディング

Encode::TW

Taiwan-based Chinese Encodings

台湾での中国語エンコーディング

Encode::Unicode

Various Unicode Transformation Formats

様々な Unicode 変換形式

Encode::Unicode::UTF7

UTF-7 encoding

UTF-7 エンコーディング

English

Use nice English (or awk) names for ugly punctuation variables

読みにくい句読点変数に対して読みやすい英語(もしくは awk)の名前を使う

Env

Perl module that imports environment variables as scalars or arrays

環境変数をスカラ変数または配列変数としてインポートする Perl モジュール

Errno

System errno constants

システムの errno 定数

Exporter

Implements default import method for modules

モジュールのためのデフォルト import メソッドを実装する

Exporter::Heavy

Exporter guts

Exporter の中身

ExtUtils::CBuilder

Compile and link C code for Perl modules

Perl モジュールのために C コードをコンパイル・リンクする

ExtUtils::CBuilder::Platform::Windows

Builder class for Windows platforms

Windows プラットフォームのためのビルダークラス

ExtUtils::Command

Utilities to replace common UNIX commands in Makefiles etc.

Makefile などの中の一般的な UNIX コマンドを置き換えるためのユーティリティ

ExtUtils::Command::MM

Commands for the MM's to use in Makefiles

Makefile の中で使うための MM のコマンド

ExtUtils::Constant

Generate XS code to import C header constants

C ヘッダ定数をインポートするための XS コードを生成する

ExtUtils::Constant::Base

Base class for ExtUtils::Constant objects

ExtUtils::Constant オブジェクトのための基底クラス

ExtUtils::Constant::Utils

Helper functions for ExtUtils::Constant

ExtUtils::Constant のためのヘルパー関数

ExtUtils::Constant::XS

Generate C code for XS modules' constants.

XS モジュールの定数の C コードを生成する

ExtUtils::Embed

Utilities for embedding Perl in C/C++ applications

CやC++アプリケーションにPerlを組み込むためのユーティリティ

ExtUtils::Install

Install files from here to there

こちらからあちらにファイルをインストールする

ExtUtils::Installed

Inventory management of installed modules

インストールしたモジュールの目録管理

ExtUtils::Liblist

Determine libraries to use and how to use them

ライブラリを使うために使用するライブラリを決定する

ExtUtils::MM

OS adjusted ExtUtils::MakeMaker subclass

OS によって調整した ExtUtils::MakeMaker の派生クラス

ExtUtils::MM_AIX

AIX specific subclass of ExtUtils::MM_Unix

AIX 固有の ExtUtils::MM_Unix の派生クラス

ExtUtils::MM_Any

Platform-agnostic MM methods

プラットフォームが分からない場合の MM メソッド

ExtUtils::MM_BeOS

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド

ExtUtils::MM_Cygwin

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド

ExtUtils::MM_DOS

DOS specific subclass of ExtUtils::MM_Unix

DOS 固有の ExtUtils::MM_Unix の派生クラス

ExtUtils::MM_Darwin

Special behaviors for OS X

OS X のための特殊な振る舞い

ExtUtils::MM_MacOS

Once produced Makefiles for MacOS Classic

MacOS Classic のために一度生成された Makefile

ExtUtils::MM_NW5

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド

ExtUtils::MM_OS2

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド

ExtUtils::MM_QNX

QNX specific subclass of ExtUtils::MM_Unix

QNX 固有の ExtUtils::MM_Unix の派生クラス

ExtUtils::MM_UWIN

U/WIN specific subclass of ExtUtils::MM_Unix

U/WIN 固有の ExtUtils::MM_Unix の派生クラス

ExtUtils::MM_Unix

Methods used by ExtUtils::MakeMaker

ExtUtils::MakeMaker によって使用されるメソッド群

ExtUtils::MM_VMS

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド

ExtUtils::MM_VOS

VOS specific subclass of ExtUtils::MM_Unix

VOS 固有の ExtUtils::MM_Unix の派生クラス

ExtUtils::MM_Win32

Methods to override UN*X behaviour in ExtUtils::MakeMaker

ExtUtils::MakeMaker での UN*X の振る舞いを上書きするメソッド

ExtUtils::MM_Win95

Method to customize MakeMaker for Win9X

Win9X のために MakeMaker をカスタマイズするメソッド

ExtUtils::MY

ExtUtils::MakeMaker subclass for customization

カスタマイズのための ExtUtils::MakeMaker の派生クラス

ExtUtils::MakeMaker

Create a module Makefile

モジュールの Makefile を生成する

ExtUtils::MakeMaker::Config

Wrapper around Config.pm

Config.pm のラッパー

ExtUtils::MakeMaker::FAQ

Frequently Asked Questions About MakeMaker

MakeMaker に関するよくある質問とその答え

ExtUtils::MakeMaker::Tutorial

Writing a module with MakeMaker

MakeMaker でモジュールを書く

ExtUtils::Manifest

Utilities to write and check a MANIFEST file

MANIFEST ファイルを書き出したりチェックしたりするためのユーティリティ

ExtUtils::Mkbootstrap

Make a bootstrap file for use by DynaLoader

DyaLoaderによって使用されるブートストラップファイルを作成する

ExtUtils::Mksymlists

Write linker options files for dynamic extension

動的拡張のためのリンカーオプションファイルを書き出す

ExtUtils::Packlist

Manage .packlist files

.packlist ファイルを管理する

ExtUtils::ParseXS

Converts Perl XS code into C code

Perl XS コードを C コードに変換する

ExtUtils::XSSymSet

Keep sets of symbol names palatable to the VMS linker

VMS リンカに適したシンボル名の集合を保持する

ExtUtils::testlib

Add blib/* directories to @INC

@INC に blib/* ディレクトリを追加する

Fatal

Replace functions with equivalents which succeed or die

成功しなければ die する等価な関数に置き換える

Fcntl

Load the C Fcntl.h defines

C の Fcntl.h の定義をロードする

File::Basename

Parse file paths into directory, filename and suffix.

ファイルパスをディレクトリ、ファイル名、拡張子にパースする

File::CheckTree

Run many filetest checks on a tree

木に対して多くのファイル検査を実行する

File::Compare

Compare files or filehandles

ファイルやファイルハンドルを比較する

File::Copy

Copy files or filehandles

ファイルやファイルハンドルを複写する

File::DosGlob

DOS like globbing and then some

DOS 風グロブ

File::Fetch

A generic file fetching mechanism

一般的なファイルフェッチ機構

File::Find

Traverse a directory tree.

ディレクトリツリーを辿る

File::Glob

Perl extension for BSD glob routine

BSD グロブルーチンのための Perl エクステンション

File::GlobMapper

Extend File Glob to Allow Input and Output Files

入出力ファイルを許可するようにファイルグロブを拡張する

File::Path

Create or remove directory trees

ディレクトリツリーを生成・削除する

File::Spec

Portably perform operations on file names

ファイル名に関して移植性ある操作を提供する

File::Spec::Cygwin

Methods for Cygwin file specs

Cygwin file specs のためのメソッド

File::Spec::Epoc

Methods for Epoc file specs

Epoc file specs のためのメソッド

File::Spec::Functions

Portably perform operations on file names

ファイル名に関して移植性ある操作を提供する

File::Spec::Mac

File::Spec for Mac OS (Classic)

Mac OS (Classic) のための File::Spec

File::Spec::OS2

Methods for OS/2 file specs

OS/2 file specs のためのメソッド

File::Spec::Unix

File::Spec for Unix, base for other File::Spec modules

その他の File::Spec モジュールの基礎となる、Unix のための File::Spec

File::Spec::VMS

Methods for VMS file specs

VMS file specs のためのメソッド

File::Spec::Win32

Methods for Win32 file specs

Win32 file specs のためのメソッド

File::Temp

Return name and handle of a temporary file safely

一時ファイルの名前とハンドルを安全に返す

File::stat

By-name interface to Perl's built-in stat() functions

名前による Perl の組み込み関数 stat() に対するインターフェース

FileCache

Keep more files open than the system permits

システムの制限よりも多くのファイルを開く

FileHandle

Supply object methods for filehandles

ファイルハンドルのためのオブジェクトメソッドを提供する

Filter::Simple

Simplified source filtering

単純化したソースフィルタリング

Filter::Util::Call

Perl Source Filter Utility Module

Perl ソースフィルタユーティリティモジュール

FindBin

Locate directory of original perl script

オリジナルの Perl スクリプトのディレクトリ位置を特定する

GDBM_File

Perl5 access to the gdbm library.

Perl5 が gdbm ライブラリにアクセスする。

Getopt::Long

Extended processing of command line options

拡張されたコマンドラインオプションの処理

Getopt::Std

Process single-character switches with switch clustering

まとまったスイッチのある一文字スイッチの処理

Hash::Util

A selection of general-utility hash subroutines

一般的なユーティリティハッシュサブルーチンの選集

Hash::Util::FieldHash

Support for Inside-Out Classes

Inside-Out クラスのサポート

I18N::Collate

Compare 8-bit scalar data according to the current locale

8 ビットのスカラデータを、カレントのロケールに従って比較する

I18N::LangTags

Functions for dealing with RFC3066-style language tags

RFC3066-形式の言語タグを扱うための関数

I18N::LangTags::Detect

Detect the user's language preferences

ユーザーの言語プリファレンスを検出する

I18N::LangTags::List

Tags and names for human languages

自然言語のためのタグと名前

I18N::Langinfo

Query locale information

ロケール情報を問い合わせる

IO

Load various IO modules

さまざまな IO モジュールを読み込む

IO::Compress::Base

Base Class for IO::Compress modules

IO::Compress モジュールの基底クラス

IO::Compress::Bzip2

Write bzip2 files/buffers

bzip2 ファイル/バッファを書く

IO::Compress::Deflate

Write RFC 1950 files/buffers

RFC 1950 ファイル/バッファを書く

IO::Compress::FAQ

Frequently Asked Questions about IO::Compress

IO::Compress に関してよく聞かれる質問

IO::Compress::Gzip

Write RFC 1952 files/buffers

RFC 1952 ファイル/バッファを書く

IO::Compress::RawDeflate

Write RFC 1951 files/buffers

RFC 1951 ファイル/バッファを書く

IO::Compress::Zip

Write zip files/buffers

zip ファイル/バッファを書く

IO::Dir

Supply object methods for directory handles

ディレクトリハンドルのためのオブジェクトメソッドを提供する

IO::File

Supply object methods for filehandles

ファイルハンドルのためのオブジェクトメソッドを提供する

IO::Handle

Supply object methods for I/O handles

I/O ハンドルのためのオブジェクトメソッドを提供する

IO::Pipe

Supply object methods for pipes

パイプのためのオブジェクトメソッドを提供する

IO::Poll

Object interface to system poll call

システムポーリング呼び出しのためのオブジェクトインターフェース

IO::Seekable

Supply seek based methods for I/O objects

I/O オブジェクトのための seek ベースのメソッドを提供する

IO::Select

OO interface to the select system call

select システムコールのための OO インターフェース

IO::Socket

Object interface to socket communications

ソケット通信のためのオブジェクトインターフェース

IO::Socket::INET

Object interface for AF_INET domain sockets

AF_INET ドメインソケットのためのオブジェクトインターフェース

IO::Socket::UNIX

Object interface for AF_UNIX domain sockets

AF_UNIX ドメインソケットのためのオブジェクトインターフェース

IO::Uncompress::AnyInflate

Uncompress zlib-based (zip, gzip) file/buffer

zlib ベースの (zip, gzip) ファイル/バッファを展開する

IO::Uncompress::AnyUncompress

Uncompress gzip, zip, bzip2 or lzop file/buffer

gzip, zip, bzip2, lzop ファイル/バッファを展開する

IO::Uncompress::Base

Base Class for IO::Uncompress modules

IO::Uncompress モジュールのための基底クラス

IO::Uncompress::Bunzip2

Read bzip2 files/buffers

bzip2 ファイル/バッファを読み込む

IO::Uncompress::Gunzip

Read RFC 1952 files/buffers

RFC 1952 ファイル/バッファを読み込む

IO::Uncompress::Inflate

Read RFC 1950 files/buffers

RFC 1950 ファイル/バッファを読み込む

IO::Uncompress::RawInflate

Read RFC 1951 files/buffers

RFC 1951 ファイル/バッファを読み込む

IO::Uncompress::Unzip

Read zip files/buffers

zip ファイル/バッファを読み込む

IO::Zlib

IO:: style interface to Compress::Zlib

Compress::Zlib への IO:: 風のインターフェース

IPC::Cmd

Finding and running system commands made easy

システムコマンドの検索と実行を簡単にする

IPC::Msg

SysV Msg IPC object class

SysV Msg IPC オブジェクトクラス

IPC::Open2

Open a process for both reading and writing

読み込みと書き込みの両方のためにプロセスを開く

IPC::Open3

Open a process for reading, writing, and error handling

読み込み、書き込み、エラー処理のためにプロセスを開く

IPC::Semaphore

SysV Semaphore IPC object class

SysV Semaphore IPC オブジェクトクラス

IPC::SharedMem

SysV Shared Memory IPC object class

SysV 共有メモリ IPC オブジェクトクラス

IPC::SysV

System V IPC constants and system calls

System V IPC 定数とシステムコール

List::Util

A selection of general-utility list subroutines

一般的なユーティリティリストサブルーチンの選集

List::Util::XS

Indicate if List::Util was compiled with a C compiler

List::Util が C コンパイラでコンパイルされていることを示す

Locale::Constants

Constants for Locale codes

ロケールコード定数

Locale::Country

ISO codes for country identification (ISO 3166)

国識別のための ISO コード (ISO 3166)

Locale::Currency

ISO three letter codes for currency identification (ISO 4217)

通貨識別のための 3 文字 ISO コード(ISO 4217)

Locale::Language

ISO two letter codes for language identification (ISO 639)

言語識別のための 2 文字 ISO コード(ISO 639)

Locale::Maketext

Framework for localization

地域化のためのフレームワーク

Locale::Maketext::Simple

Simple interface to Locale::Maketext::Lexicon

Locale::Maketext::Lexicon への単純なインターフェース

Locale::Maketext::TPJ13

Article about software localization

ソフトウェア地域化に関する記事

Locale::Script

ISO codes for script identification (ISO 15924)

文字体系識別のための ISO コード (ISO 15924)

Log::Message

A generic message storing mechanism;

汎用メッセージ保管機構

Log::Message::Config

Configuration options for Log::Message

Log::Message のオプションを設定する

Log::Message::Handlers

Message handlers for Log::Message

Log::Message のメッセージハンドラ

Log::Message::Item

Message objects for Log::Message

Log::Message のメッセージオブジェクト

MIME::Base64

Encoding and decoding of base64 strings

base64 文字列のエンコードとデコード

MIME::QuotedPrint

Encoding and decoding of quoted-printable strings

quoted-printable 文字列のエンコードとデコード

Math::BigFloat

Arbitrary size floating point math package

多倍長実数の数学パッケージ

Math::BigInt

Arbitrary size integer/float math package

多倍長整数/浮動小数点数の数学パッケージ

Math::BigInt::Calc

Pure Perl module to support Math::BigInt

Math::BigInt に対応する Pure Perl モジュール

Math::BigInt::CalcEmu

Emulate low-level math with BigInt code

BigInt コードの低レベル計算をエミュレートする

Math::BigInt::FastCalc

Math::BigInt::Calc with some XS for more speed

高速化のために XS にした Math::BigInt::Calc

Math::BigRat

Arbitrary big rational numbers

任意桁の有理数

Math::Complex

Complex numbers and associated mathematical functions

複素数とそれに関連する数学的な関数

Math::Trig

Trigonometric functions

三角関数

Memoize

Make functions faster by trading space for time

メモリを犠牲にして関数を高速化する

Memoize::AnyDBM_File

Glue to provide EXISTS for AnyDBM_File for Storable use

Storable での使用のために AnyDBM_File に EXISTS を提供するための糊

Memoize::Expire

Plug-in module for automatic expiration of memoized values

記憶した値の自動的な破棄のためのプラグインモジュール

Memoize::ExpireFile

Test for Memoize expiration semantics

Memoize の破棄動作のためのテスト

Memoize::ExpireTest

Test for Memoize expiration semantics

Memoize の破棄動作のためのテスト

Memoize::NDBM_File

Glue to provide EXISTS for NDBM_File for Storable use

Storable での使用のために NDBM_File に EXISTS を提供するための糊

Memoize::SDBM_File

Glue to provide EXISTS for SDBM_File for Storable use

Storable での使用のために SDBM_File に EXISTS を提供するための糊

Memoize::Storable

Store Memoized data in Storable database

記憶したデータを Storable データベースに保管する

Module::Build

Build and install Perl modules

Perl モジュールのビルドとインストール

Module::Build::API

API Reference for Module Authors

モジュール作者のための API リファレンス

Module::Build::Authoring

Authoring Module::Build modules

Module::Build モジュールを書く

Module::Build::Base

Default methods for Module::Build

Module::Build のデフォルトメソッド

Module::Build::Compat

Compatibility with ExtUtils::MakeMaker

ExtUtils::MakeMaker との互換性

Module::Build::ConfigData

Configuration for Module::Build

Module::Build の設定

Module::Build::Cookbook

Examples of Module::Build Usage

Module::Build の使用法の例

Module::Build::ModuleInfo

Gather package and POD information from a perl module file

perl モジュールファイルからパッケージと POD の情報を集める

Module::Build::Notes

Configuration for $module_name

$module_name の設定

Module::Build::PPMMaker

Perl Package Manager file creation

Perl Package Manager ファイル作成

Module::Build::Platform::Amiga

Builder class for Amiga platforms

Amiga プラットフォームのためのビルダークラス

Module::Build::Platform::Default

Stub class for unknown platforms

不明なプラットフォームのための派生クラス

Module::Build::Platform::EBCDIC

Builder class for EBCDIC platforms

EBCDIC プラットフォームのためのビルダークラス

Module::Build::Platform::MPEiX

Builder class for MPEiX platforms

MPEiX プラットフォームのためのビルダークラス

Module::Build::Platform::MacOS

Builder class for MacOS platforms

MacOS プラットフォームのためのビルダークラス

Module::Build::Platform::RiscOS

Builder class for RiscOS platforms

RiscOS プラットフォームのためのビルダークラス

Module::Build::Platform::Unix

Builder class for Unix platforms

Unix プラットフォームのためのビルダークラス

Module::Build::Platform::VMS

Builder class for VMS platforms

VMS プラットフォームのためのビルダークラス

Module::Build::Platform::VOS

Builder class for VOS platforms

VOS プラットフォームのためのビルダークラス

Module::Build::Platform::Windows

Builder class for Windows platforms

Windows プラットフォームのためのビルダークラス

Module::Build::Platform::aix

Builder class for AIX platform

AIX プラットフォームのためのビルダークラス

Module::Build::Platform::cygwin

Builder class for Cygwin platform

Cygwin プラットフォームのためのビルダークラス

Module::Build::Platform::darwin

Builder class for Mac OS X platform

Mac OS X プラットフォームのためのビルダークラス

Module::Build::Platform::os2

Builder class for OS/2 platform

OS/2 プラットフォームのためのビルダークラス

Module::Build::YAML

Provides just enough YAML support so that Module::Build works even if YAML.pm is not installed

YAML.pm がインストールされていなくても Module::Build が動作するだけの YAML サポートを提供する

Module::CoreList

What modules shipped with versions of perl

バージョン別に、perl と共に配布されているモジュールの一覧

Module::Load

Runtime require of both modules and files

モジュールとファイルの両方で必要とするランタイム

Module::Load::Conditional

Looking up module information / loading at runtime

実行時にモジュール情報の検索と読み込みを行う

Module::Loaded

Mark modules as loaded or unloaded

モジュールを読み込み済みまたは未読み込みとマークする

Module::Pluggable

Automatically give your module the ability to have plugins

モジュールにプラグインを持つ能力を自動的に与える

Module::Pluggable::Object

Automatically give your module the ability to have plugins

モジュールにプラグインを持つ能力を自動的に与える

NDBM_File

Tied access to ndbm files

ndbm ファイルに対する tie されたアクセス

NEXT

Provide a pseudo-class NEXT (et al) that allows method redispatch

メソッドの再発行(redispatch)を可能にする擬似クラス NEXT(など)を提供する

Net::Cmd

Network Command class (as used by FTP, SMTP etc)

(FTP, SMTP などで使われる) ネットワークコマンドクラス

Net::Config

Local configuration data for libnet

libnet のためのローカル設定

Net::Domain

Attempt to evaluate the current host's internet name and domain

現在のホストのインターネット名とドメインを評価しようとする

Net::FTP

FTP Client class

FTP クライアントクラス

Net::NNTP

NNTP Client class

NNTP クライアントクラス

Net::Netrc

OO interface to users netrc file

ユーザーの netrc ファイルへの OO インターフェース

Net::POP3

Post Office Protocol 3 Client class (RFC1939)

Post Office Protocol 3 (RFC1939) クライアントクラス

Net::Ping

Check a remote host for reachability

リモートホストへの到達性をチェックする

Net::SMTP

Simple Mail Transfer Protocol Client

Simple Mail Transfer Protocol クライアント

Net::Time

Time and daytime network client interface

time と daytime のネットワーククライアントインターフェース

Net::hostent

By-name interface to Perl's built-in gethost*() functions

Perl の組み込み関数 gethost*() に対する名前によるインターフェース

Net::libnetFAQ

Libnet Frequently Asked Questions

libnet のよくある質問と答え

Net::netent

By-name interface to Perl's built-in getnet*() functions

Perl の組み込み関数 getnet*() に対する名前による インターフェース

Net::protoent

By-name interface to Perl's built-in getproto*() functions

Perl の組み込み関数 getproto*() に対する名前による インターフェース

Net::servent

By-name interface to Perl's built-in getserv*() functions

Perl の組み込み関数 getserv*() に対する名前による インターフェース

O

Generic interface to Perl Compiler backends

Perl コンパイラバックエンドへの一般的なインターフェース

ODBM_File

Tied access to odbm files

odbm ファイルへの tie されたアクセス

Opcode

Disable named opcodes when compiling perl code

Perl プログラムのコンパイル時に 名前の付いたオペコードを禁止する

POSIX

Perl interface to IEEE Std 1003.1

IEEE Standard 1003.1 に対するインターフェース

Package::Constants

List all constants declared in a package

パッケージで宣言されている全ての定数をリストする

Params::Check

A generic input parsing/checking mechanism.

汎用入力パース/チェック機構

Parse::CPAN::Meta

Parse META.yml and other similar CPAN metadata files

META.yml その他の同様の CPAN メタデータファイルをパースする

PerlIO

On demand loader for PerlIO layers and root of PerlIO::* name space

PerlIO 層のオンデマンドな読み込みと、PerlIO::* 名前空間のルート

PerlIO::encoding

Encoding layer

エンコーディング層

PerlIO::scalar

In-memory IO, scalar IO

インメモリ IO とスカラ IO

PerlIO::via

Helper class for PerlIO layers implemented in perl

perl で実装されている PerlIO 層のヘルパークラス

PerlIO::via::QuotedPrint

PerlIO layer for quoted-printable strings

quoted-printable 文字列のための PerlIO 層

Pod::Checker

Check pod documents for syntax errors

POD ドキュメントの文法エラーをチェックする

Pod::Escapes

For resolving Pod E<...> sequences

Pod::Find

Find POD documents in directory trees

ディレクトリツリーから POD ドキュメントを検索する

Pod::Functions

Group Perl's functions a la perlfunc.pod

Perl の関数を perlfunc.pod 風に集める

Pod::Html

Module to convert pod files to HTML

POD ファイルを HTML に変換するモジュール

Pod::InputObjects

Objects representing POD input paragraphs, commands, etc.

POD 入力段落、コマンドなどを表現するオブジェクト

Pod::LaTeX

Convert Pod data to formatted Latex

POD データをフォーマットされた Latex に変換する

Pod::Man

Convert POD data to formatted *roff input

POD データをフォーマットされた *roff 入力に変換する

Pod::ParseLink

Parse an L<> formatting code in POD text

POD テキスト中の L<> フォーマットコードをパースする

Pod::ParseUtils

Helpers for POD parsing and conversion

POD のパースと変換のためのヘルパークラス

Pod::Parser

Base class for creating POD filters and translators

POD フィルタと変換器をを作成するための基底クラス

Pod::Perldoc::ToChecker

Let Perldoc check Pod for errors

Perldoc に Pod のエラーをチェックさせる

Pod::Perldoc::ToMan

Let Perldoc render Pod as man pages

Perldoc に POD を man ページとして表現させる

Pod::Perldoc::ToNroff

Let Perldoc convert Pod to nroff

Perldoc に POD を nroff に変換させる

Pod::Perldoc::ToPod

Let Perldoc render Pod as ... Pod!

Perldoc に POD を…PODとして表現させる!

Pod::Perldoc::ToRtf

Let Perldoc render Pod as RTF

Perldoc に POD を RTF として表現させる

Pod::Perldoc::ToText

Let Perldoc render Pod as plaintext

Perldoc に POD をプレーンテキストとして表現させる

Pod::Perldoc::ToTk

Let Perldoc use Tk::Pod to render Pod

Perldoc に、POD の表現に Tk::Pod を使うようにさせる

Pod::Perldoc::ToXml

Let Perldoc render Pod as XML

Perldoc に POD を XML として表現させる

Pod::PlainText

Convert POD data to formatted ASCII text

POD データを整形された ASCII テキストに変換する

Pod::Plainer

Perl extension for converting Pod to old style Pod.

POD を古い形式の POD に変換するための Perl エクステンション

Pod::Select

Extract selected sections of POD from input

入力から POD の選択した章を抽出する

Pod::Simple

Framework for parsing Pod

POD をパースするためのフレームワーク

Pod::Simple::Checker

Check the Pod syntax of a document

ドキュメントの POD 文法をチェックする

Pod::Simple::Debug

Put Pod::Simple into trace/debug mode

Pod::Simple をトレース/デバッグモードにする

Pod::Simple::DumpAsText

Dump Pod-parsing events as text

POD パース時のイベントをテキストとしてダンプする

Pod::Simple::DumpAsXML

Turn Pod into XML

POD を XML に変換する

Pod::Simple::HTML

Convert Pod to HTML

POD を HTML に変換する

Pod::Simple::HTMLBatch

Convert several Pod files to several HTML files

複数のPOD ファイルを複数の HTML ファイルに変換する

Pod::Simple::LinkSection

Represent "section" attributes of L codes

L コードの "section" 属性の表現

Pod::Simple::Methody

Turn Pod::Simple events into method calls

Pod::Simple イベントをメソッド呼び出しに変換する

Pod::Simple::PullParser

A pull-parser interface to parsing Pod

POD をパースするためのプルパーサーインターフェース

Pod::Simple::PullParserEndToken

End-tokens from Pod::Simple::PullParser

Pod::Simple::PullParser からの End トークン

Pod::Simple::PullParserStartToken

Start-tokens from Pod::Simple::PullParser

Pod::Simple::PullParser からの Start トークン

Pod::Simple::PullParserTextToken

Text-tokens from Pod::Simple::PullParser

Pod::Simple::PullParser からの Text トークン

Pod::Simple::PullParserToken

Tokens from Pod::Simple::PullParser

Pod::Simple::PullParser からのトークン

Pod::Simple::RTF

Format Pod as RTF

POD を RTF として整形する

Pod::Simple::Search

Find POD documents in directory trees

ディレクトリツリーから POD ドキュメントを検索する

Pod::Simple::SimpleTree

Parse Pod into a simple parse tree

POD を単純なパースツリーにパースする

Pod::Simple::Subclassing

Write a formatter as a Pod::Simple subclass

Pod::Simple の派生クラスとしてフォーマッターを書く

Pod::Simple::Text

Format Pod as plaintext

POD をプレーンテキストとして整形する

Pod::Simple::TextContent

Get the text content of Pod

POD のテキストコンテンツを得る

Pod::Simple::XHTML

Format Pod as validating XHTML

Pod を妥当な XHTML としてフォーマットする

Pod::Simple::XMLOutStream

Turn Pod into XML

POD を XML に変換する

Pod::Text

Convert POD data to formatted ASCII text

POD データを整形された ASCII テキストに変換する

Pod::Text::Color

Convert POD data to formatted color ASCII text

POD データを整形された色付き ASCII テキストに変換する

Pod::Text::Termcap

Convert POD data to ASCII text with format escapes

POD データを整形されたエスケープつきの ASCII テキストに変換する

Pod::Usage

Print a usage message from embedded pod documentation

組み込みの POD ドキュメントから使用法を表示する

SDBM_File

Tied access to sdbm files

sdbm ファイルへの tie されたアクセス

Safe

Compile and execute code in restricted compartments

制限された領域でプログラムのコンパイルと実行を行う

Scalar::Util

A selection of general-utility scalar subroutines

汎用ユーティリティスカラサブルーチンの選集

Search::Dict

Search for key in dictionary file

辞書ファイルにあるキーを検索する

SelectSaver

Save and restore selected file handle

選択されたファイルハンドルの保存と復帰を行う

SelfLoader

Load functions only on demand

必要な関数のみをロードする

Shell

Run shell commands transparently within perl

Perl の中から透過的にシェルコマンドを実行する

Socket

Load the C socket.h defines and structure manipulators

Cの socket.h にある定義と構造体操作子(structure manipulators)を ロードする

Storable

Persistence for Perl data structures

Perl データ構造の永続化

Switch

A switch statement for Perl

Perl のための switch 文

Symbol

Manipulate Perl symbols and their names

Perlのシンボルとその名前を操作する

Sys::Hostname

Try every conceivable way to get hostname

ホスト名を取得する考えられるすべての方法を試行する

Sys::Syslog

Perl interface to the UNIX syslog(3) calls

UNIX の syslog(3) コールに対する Perl インターフェース

Sys::Syslog::Win32

Win32 support for Sys::Syslog

Sys::Syslog の Win32 対応

TAP::Base

Base class that provides common functionality to TAP::Parser

TAP::Parser への共通機能を提供する基底クラス

TAP::Formatter::Color

Run Perl test scripts with color

色付きで Perl テスト作り婦とを実行する

TAP::Formatter::Console

Harness output delegate for default console output

デフォルトコンソール出力のためのハーネス出力委譲

TAP::Formatter::Console

Harness output delegate for default console output

デフォルトコンソール出力のためのハーネス出力委譲

TAP::Formatter::Console::ParallelSession

Harness output delegate for parallel console output

並列コンソール出力のためのハーネス出力委譲

TAP::Formatter::Console::Session

Harness output delegate for default console output

デフォルトコンソール出力のためのハーネス出力委譲

TAP::Formatter::File

Harness output delegate for file output

ファイル出力のためのハーネス出力委譲

TAP::Formatter::File::Session

Harness output delegate for file output

ファイル出力のためのハーネス出力委譲

TAP::Formatter::Session

Abstract base class for harness output delegate

ハーネス出力委譲のための抽象基底クラス

TAP::Harness

Run test scripts with statistics

統計付きでテストスクリプトを実行する

TAP::Object

Base class that provides common functionality to all TAP::* modules

全ての TAP::* モジュールに共通機能を提供する基底クラス

TAP::Parser

Parse TAP output

TAP 出力をパースする

TAP::Parser::Aggregator

Aggregate TAP::Parser results

TAP::Parser の結果を集約する

TAP::Parser::Grammar

A grammar for the Test Anything Protocol.

Test Anything Protocol のための文法

TAP::Parser::Iterator

Internal base class for TAP::Parser Iterators

TAP::Parser 反復子のための内部基底クラス

TAP::Parser::Iterator::Array

Internal TAP::Parser array Iterator

内部の TAP::Parser 配列反復子

TAP::Parser::Iterator::Process

Internal TAP::Parser Iterator

内部の TAP::Parser 反復子

TAP::Parser::Iterator::Stream

Internal TAP::Parser Iterator

内部の TAP::Parser 反復子

TAP::Parser::IteratorFactory

Internal TAP::Parser Iterator

内部の TAP::Parser 反復子

TAP::Parser::Multiplexer

Multiplex multiple TAP::Parsers

複数の TAP::Parsers を多重化する

TAP::Parser::Result

Base class for TAP::Parser output objects

TAP::Parser 出力オブジェクトのための基底クラス

TAP::Parser::Result::Bailout

Bailout result token.

脱出結果トークン。

TAP::Parser::Result::Comment

Comment result token.

コメント結果トークン。

TAP::Parser::Result::Plan

Plan result token.

計画結果トークン。

TAP::Parser::Result::Pragma

TAP pragma token.

TAP プラグマトークン。

TAP::Parser::Result::Test

Test result token.

テスト結果トークン。

TAP::Parser::Result::Unknown

Unknown result token.

不明の結果トークン。

TAP::Parser::Result::Version

TAP syntax version token.

TAP 文法バージョントークン。

TAP::Parser::Result::YAML

YAML result token.

YAML 結果トークン。

TAP::Parser::ResultFactory

Factory for creating TAP::Parser output objects

TAP::Parser 出力オブジェクトを作成するためのファクトリ

TAP::Parser::Scheduler

Schedule tests during parallel testing

並列テスト中の計画テスト

TAP::Parser::Scheduler::Job

A single testing job.

単一のテストジョブ。

TAP::Parser::Scheduler::Spinner

A no-op job.

何もしないジョブ。

TAP::Parser::Source

Stream output from some source

一部のソースからのストリーム出力

TAP::Parser::Source::Perl

Stream Perl output

ストリーム Perl 出力

TAP::Parser::Utils

Internal TAP::Parser utilities

内部 TAP::Parser ユーティリティ

TAP::Parser::YAMLish::Reader

Read YAMLish data from iterator

YAML 風データを反復子から読み込む

TAP::Parser::YAMLish::Writer

Write YAMLish data

YAML 風データを書き込む

Term::ANSIColor

Color screen output using ANSI escape sequences

ANSI エスケープシーケンスを使った色付き画面出力

Term::Cap

Perl termcap interface

Perl の termcap インターフェース

Term::Complete

Perl word completion module

語の補完モジュール

Term::ReadLine

Perl interface to various readline packages.

様々な readline パッケージに対する Perl インターフェース

Term::UI

Term::ReadLine UI made easy

Term::ReadLine UI を簡単にする

Test

Provides a simple framework for writing test scripts

テストスクリプトを書くための単純なフレームワークを提供する

Test::Builder

Backend for building test libraries

テストライブラリをビルドするためのバックエンド

Test::Builder::Module

Base class for test modules

テストモジュールの基底クラス

Test::Builder::Tester

Test testsuites that have been built with

ビルドされたテストスイートをテストする

Test::Builder::Tester::Color

Turn on colour in Test::Builder::Tester

Test::Builder::Tester を色付きにする

Test::Harness

Run Perl standard test scripts with statistics

統計付きの Perl 標準テストスクリプトを実行する

Test::More

Yet another framework for writing test scripts

テストスクリプトを書くためのもう一つのフレームワーク

Test::Simple

Basic utilities for writing tests.

テストを書くための基本的なユーティリティ

Test::Tutorial

A tutorial about writing really basic tests

本当に基本的なテストを書くためのチュートリアル

Text::Abbrev

Create an abbreviation table from a list

リストから略語テーブルを作成します

Text::Balanced

Extract delimited text sequences from strings.

文字列からデリミタで区切られたテキスト列を抽出する

Text::ParseWords

Parse text into an array of tokens or array of arrays

テキストを解析してトークンの配列や配列の配列にします

Text::Soundex

Implementation of the soundex algorithm.

soundex アルゴリズムの実装

Text::Tabs

Expand and unexpand tabs per the unix expand(1) and unexpand(1)

UNIX の expand(1) や unexpand(1) のようにタブの展開やタブへの置換を行う

Text::Wrap

Line wrapping to form simple paragraphs

単純なパラグラフに対する行ラッピング

Thread

Manipulate threads in Perl (for old code only)

Perl のスレッドを操作する (古いコード専用)

Thread::Queue

Thread-safe queues

スレッドセーフなキュー

Thread::Semaphore

Thread-safe semaphores

スレッドセーフなセマフォ

Tie::Array

Base class for tied arrays

tie された配列のための基底クラス

Tie::File

Access the lines of a disk file via a Perl array

ディスクのファイルの行に Perl の配列経由でアクセスする

Tie::Handle

Base class definitions for tied handles

tie されたハンドルのためのベースクラスの定義

Tie::Hash

Base class definitions for tied hashes

tie されたハッシュのためのベースクラス

Tie::Hash::NamedCapture

Named regexp capture buffers

名前付き正規表現捕捉バッファ

Tie::Memoize

Add data to hash when needed

必要なときにハッシュにデータを追加する

Tie::RefHash

Use references as hash keys

ハッシュキーとしてリファレンスを使う

Tie::Scalar

Base class definitions for tied scalars

tie されたスカラのための基底クラスの定義

Tie::StdHandle

Base class definitions for tied handles

tie されたハンドルのためのベースクラスの定義

Tie::SubstrHash

Fixed-table-size, fixed-key-length hashing

テーブルサイズ固定、キー長固定のハッシング

Time::HiRes

High resolution alarm, sleep, gettimeofday, interval timers

高精度の alarm, sleep, gettimeofday, 内部タイマー

Time::Local

Efficiently compute time from local and GMT time

local と GMT 時刻からの効率良い計算

Time::Piece

Object Oriented time objects

オブジェクト指向の時刻オブジェクト

Time::Seconds

A simple API to convert seconds to other date values

秒数を他の日付値に変換する単純な API

Time::gmtime

By-name interface to Perl's built-in gmtime() function

Perl の組み込み関数 gmtime() に対する名前によるインターフェース

Time::localtime

By-name interface to Perl's built-in localtime() function

Perl の組み込み関数 localtime() に対する名前によるインターフェース

Time::tm

Internal object used by Time::gmtime and Time::localtime

Time::gmtime や Time::localtime によって使われる内部的なオブジェクト

UNIVERSAL

Base class for ALL classes (blessed references)

すべてのクラス(bless されたリファレンス)のための基底クラス

Unicode::Collate

Unicode Collation Algorithm

Unicode 照合アルゴリズム

Unicode::Normalize

Unicode Normalization Forms

Unicode 正規化形式

Unicode::UCD

Unicode character database

Unicode 文字データベース

User::grent

By-name interface to Perl's built-in getgr*() functions

Perl の組み込み関数 getgr*() に対する名前によるインターフェース

User::pwent

By-name interface to Perl's built-in getpw*() functions

Perl の組み込み関数 getpw*() に対する名前によるインターフェース

Win32

Interfaces to some Win32 API Functions

一部の Win32 API 関数へのインターフェース

Win32API::File

Low-level access to Win32 system API calls for files/dirs.

ファイル/ディレクトリのための Win32 システム API への低レベルアクセス

Win32CORE

Win32 CORE function stubs

Win32 CORE 関数スタブ

XS::APItest

Test the perl C API

perl C API をテストする

XS::Typemap

Module to test the XS typemaps distributed with perl

perl と共に配布されている XS typemaps をテストするモジュール

XSLoader

Dynamically load C libraries into Perl code

C ライブラリを Perl コードに動的に読み込む

version::Internal

Perl extension for Version Objects

バージョンオブジェクトのための Perl エクステンション

To find out all 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).

あなたの使っているシステムでインストールされているドキュメントの ないものや標準リリースにはないものを含めた すべての モジュールを 見つけ出すためには、以下のコマンドを使ってください (デフォルトの win32 のシェルでは、シングルクォートの代わりに ダブルクォートを使うべきです)。

    % perl -MFile::Find=find -MFile::Spec::Functions -Tlwe \
      'find { wanted => sub { print canonpath $_ if /\.pm\z/ },
      no_chdir => 1 }, @INC'

(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 find program, you can use the Perl find2perl program instead, which generates Perl code as output you can run through perl. If you have a man program but it doesn't find your modules, you'll have to fix your manpath. See perl for details. If you have no system man command, you might try the perldoc program.

(ここでの -T は @INC に入っている一覧から '.' を取り除くためです。) これらはすべて独自のドキュメントをインストールして、システムの man(1) こまんどでアクセス可能なはずです。 もし find プログラムがないなら、代わりに perl で実行できる Perl コードを 生成する Perl の find2perl プログラムが使えます。 もし man プログラムはあるけれどもモジュールが見つからない場合は、 manpath を修正する必要があります。 詳細については perl を参照してください。 もしシステムの man コマンドがないなら、perldoc プログラムを 試してみてください。

Note also that the command perldoc perllocal 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.)

さらに、 perldoc perllocal というコマンドで(不完全かもしれませんが) 追加でシステムにインストールされたモジュールの一覧が表示されます。 (perllocal.pod ファイルは標準の MakeMaker によるインストール処理で 更新されます。)

拡張モジュール

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.

拡張モジュールは C(もしくは Perl と C の混合)で書かれます。 これらは普通は必要になったときに動的に Perl へロードされますが、 静的にリンクされる場合もあります。 サポートされている拡張モジュールには Socket, Fcntl, POSIX があります。

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.

多くの良く知られた C 拡張モジュールは、そのサイズであるとか 揮発性、あるいは単純に十分なテストをする時間がなかったとか Perl がベータテストされているプラットフォームでコンフィグレーションする 時間が無かったためにバンドルされていません(少なくとも完全には)。 こういったモジュールは、CPAN (後述します) や、 Alta Vista や Google といったウェブ検索エンジンを使って探すことを お勧めします。

CPAN

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/

CPAN は Perl に関する統合的な保管ネットワークを意味しています; これは、世界中に複製されている Perl に関する事柄のグローバルな コレクションで、ドキュメント、スタイルガイド、罠と技、非 Unix システムへの 移殖とそのための一時的なバイナリ配布などを含みます。 CPAN の検索エンジンは http://www.cpan.org/ にあります。

Most importantly, CPAN includes around a thousand unbundled modules, some of which require a C compiler to build. Major categories of modules are:

もっとも重要なことは、CPAN には配布パッケージには バンドルされていないたくさんのモジュールも含まれています; その中にはビルドに C コンパイラが必要なものもあります。 以下に挙げるのは、モジュールの大まかな分類です。

  • Language Extensions and Documentation Tools

    言語拡張と、ドキュメントツール

  • Development Support

    開発サポート

  • Operating System Interfaces

    オペレーティングシステムインターフェース

  • Networking, Device Control (modems) and InterProcess Communication

    ネットワーク、デバイス制御(モデム)、プロセス間通信

  • Data Types and Data Type Utilities

    データ型と、データ型ユーティリティ

  • Database Interfaces

    データベースインターフェース

  • User Interfaces

    ユーザーインターフェース

  • Interfaces to / Emulations of Other Programming Languages

    他のプログラミング言語のエミュレーションや 他のプログラミング言語に対するインターフェース

  • File Names, File Systems and File Locking (see also File Handles)

    ファイル名、ファイルシステム、ファイルのロッキング(ファイルハンドルも 参照してください)

  • String Processing, Language Text Processing, Parsing, and Searching

    文字列処理、言語テキスト(Language Text)の処理、解析、検索

  • Option, Argument, Parameter, and Configuration File Processing

    オプション、引数、パラメータ、ファイル処理のコンフィグレーション

  • Internationalization and Locale

    国際化対応とロケール

  • Authentication, Security, and Encryption

    認証、セキュリティ、暗号化

  • World Wide Web, HTML, HTTP, CGI, MIME

    World Wide Web, HTML, HTTP, CGI, MIME

  • Server and Daemon Utilities

    サーバーやデーモンのユーティリティ

  • Archiving and Compression

    アーカイブと圧縮

  • Images, Pixmap and Bitmap Manipulation, Drawing, and Graphing

    イメージ、Pixmap、ビットマップの操作、描画

  • Mail and Usenet News

    メイルと Usenet ニュース

  • Control Flow Utilities (callbacks and exceptions etc)

    制御フローユーティリティ(コールバックや例外など)

  • File Handle and Input/Output Stream Utilities

    ファイルハンドルや入出力ストリームのユーティリティ

  • Miscellaneous Modules

    その他のモジュール

The list of the registered CPAN sites as of this writing follows. Please note that the sorting order is alphabetical on fields:

これを書いている時点で登録されている CPAN サイトは以下の通りです。 ソート順はフィールド毎にアルファベット順であることに注意してください:

Continent | |-->Country | |-->[state/province] | |-->ftp | |-->[http]

and thus the North American servers happen to be listed between the European and the South American sites.

従って、北アメリカサーバはヨーロッパと南アメリカのサイトの間に リストされてしまっています。

You should try to choose one close to you.

この中から最も近いものを選ぶのが良いでしょう。

アフリカ

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/

アジア

China
                      http://cpan.linuxforum.net/
                      http://cpan.shellhung.org/
                      ftp://ftp.shellhung.org/pub/CPAN
                      ftp://mirrors.hknet.com/CPAN
Indonesia
                      http://mirrors.tf.itb.ac.id/cpan/
                      http://cpan.cbn.net.id/
                      ftp://ftp.cbn.net.id/mirror/CPAN
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/
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/
Malaysia
                      http://cpan.MyBSD.org.my
                      http://mirror.leafbug.org/pub/CPAN
                      http://ossig.mncc.com.my/mirror/pub/CPAN
Russian Federation
                      http://cpan.tomsk.ru
                      ftp://cpan.tomsk.ru/
Saudi Arabia
                      ftp://ftp.isu.net.sa/pub/CPAN/
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
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
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/
Thailand
                      ftp://ftp.loxinfo.co.th/pub/cpan/
                      ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/

中央アメリカ

Costa Rica
                      http://ftp.ucr.ac.cr/Unix/CPAN/
                      ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/

ヨーロッパ

Austria
                      http://cpan.inode.at/
                      ftp://cpan.inode.at
                      ftp://ftp.tuwien.ac.at/pub/CPAN/
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/
Bosnia and Herzegovina
                      http://cpan.blic.net/
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
Croatia
                      http://ftp.linux.hr/pub/CPAN/
                      ftp://ftp.linux.hr/pub/CPAN/
Czech Republic
                      ftp://ftp.fi.muni.cz/pub/CPAN/
                      ftp://sunsite.mff.cuni.cz/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/
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/
Estonia
                      ftp://ftp.ut.ee/pub/languages/perl/CPAN/
Finland
                      ftp://ftp.funet.fi/pub/languages/perl/CPAN/
                      http://mirror.eunet.fi/CPAN
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/
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/
Greece
                      ftp://ftp.acn.gr/pub/lang/perl
                      ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
                      ftp://ftp.ntua.gr/pub/lang/perl/
Hungary
                      http://ftp.kfki.hu/packages/perl/CPAN/
                      ftp://ftp.kfki.hu/pub/packages/perl/CPAN/
Iceland
                      http://ftp.rhnet.is/pub/CPAN/
                      ftp://ftp.rhnet.is/pub/CPAN/
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/
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/
Latvia
                      http://kvin.lv/pub/CPAN/
Lithuania
                      ftp://ftp.unix.lt/pub/CPAN/
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/
Norway
                      ftp://ftp.uninett.no/pub/languages/perl/CPAN
                      ftp://ftp.uit.no/pub/languages/perl/cpan/
Poland
                      ftp://ftp.mega.net.pl/CPAN
                      ftp://ftp.man.torun.pl/pub/doc/CPAN/
                      ftp://sunsite.icm.edu.pl/pub/CPAN/
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/
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/
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/
Slovakia
                      ftp://ftp.cvt.stuba.sk/pub/CPAN/
Slovenia
                      ftp://ftp.arnes.si/software/perl/CPAN/
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/
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/
Switzerland
                      http://cpan.mirror.solnet.ch/
                      ftp://ftp.solnet.ch/mirror/CPAN/
                      ftp://ftp.danyk.ch/CPAN/
                      ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
Turkey
                      http://ftp.ulak.net.tr/perl/CPAN/
                      ftp://ftp.ulak.net.tr/perl/CPAN
                      ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
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/
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/

北アメリカ

Canada
Alberta
                      http://cpan.sunsite.ualberta.ca/
                      ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
Manitoba
                      http://theoryx5.uwinnipeg.ca/pub/CPAN/
                      ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
Nova Scotia
                      ftp://cpan.chebucto.ns.ca/pub/CPAN/
Ontario
                      ftp://ftp.nrc.ca/pub/CPAN/
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/
United States
Alabama
                      http://mirror.hiwaay.net/CPAN/
                      ftp://mirror.hiwaay.net/CPAN/
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
Colorado
                      ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
                      http://cpan.four10.com
Delaware
                      http://ftp.lug.udel.edu/pub/CPAN
                      ftp://ftp.lug.udel.edu/pub/CPAN
District of Columbia
                      ftp://ftp.dc.aleron.net/pub/CPAN/
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/
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
Kentucky
                      http://cpan.uky.edu/
                      ftp://cpan.uky.edu/pub/CPAN/
                      http://slugsite.louisville.edu/cpan
                      ftp://slugsite.louisville.edu/CPAN
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/
Michigan
                      ftp://cpan.cse.msu.edu/
                      http://cpan.calvin.edu/pub/CPAN
                      ftp://cpan.calvin.edu/pub/CPAN
Nevada
                      http://www.oss.redundant.com/pub/CPAN
                      ftp://www.oss.redundant.com/pub/CPAN
New Jersey
                      http://ftp.cpanel.net/pub/CPAN/
                      ftp://ftp.cpanel.net/pub/CPAN/
                      http://cpan.teleglobe.net/
                      ftp://cpan.teleglobe.net/pub/CPAN
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/
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/
Oklahoma
                      ftp://ftp.ou.edu/mirrors/CPAN/
Oregon
                      ftp://ftp.orst.edu/pub/CPAN
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/
Tennessee
                      ftp://ftp.sunsite.utk.edu/pub/CPAN/
Texas
                      http://ftp.sedl.org/pub/mirrors/CPAN/
                      http://www.binarycode.org/cpan
                      ftp://mirror.telentente.com/pub/CPAN
                      http://mirrors.theonlinerecordstore.com/CPAN
Utah
                      ftp://mirror.xmission.com/CPAN/
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/
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/
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

オセアニア

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
New Zealand
                      ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
United States
                      http://aniani.ifa.hawaii.edu/CPAN/
                      ftp://aniani.ifa.hawaii.edu/CPAN/

南アメリカ

Argentina
                      ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
                      http://www.linux.org.ar/mirrors/cpan
                      ftp://ftp.linux.org.ar/mirrors/cpan
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/
Chile
                      http://cpan.netglobalis.net/
                      ftp://cpan.netglobalis.net/pub/CPAN/

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

For an up-to-date listing of CPAN sites, see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES .

最新の CPAN サイトリストは、 http://www.cpan.org/SITES や ftp://www.cpan.org/SITES を 参照してください。

モジュール: 作成、使用、濫用

(The following section is borrowed directly from Tim Bunce's modules file, available at your nearest CPAN site.)

(以下のセクションは、Tim Bunce のモジュールファイルからそのまま 借りてきたものです; このモジュールファイルは直近の CPAN サイトで 入手可能です。)

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).

Perl はパッケージを使ったクラスを実装していますが、パッケージの存在が クラスの存在を意味するということではありません。 パッケージとは単なる名前空間です。 クラスはメソッドとして使うことのできるサブルーチンを持っている パッケージです。 メソッドとは、その最初の引数としてパッケージの名前("static" メソッドの場合)か 何かのリファレンス("virtual"メソッドの場合)をとるサブルーチンです。

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 .pm file is required to exist. See perlsub, perltoot, and AutoLoader for details about the AUTOLOAD mechanism.

モジュールとは、(規則では) ファイルと同じ(ただし.pmはない)名前の クラスと、それに加えて export されたシンボルをフェッチするために 呼び出すことができるようなクラスにあるimport メソッドを提供するものです。 このモジュールは C や C++ オブジェクトから動的にロードされる メソッドを実装することもできますが、モジュールのユーザーに対して 総合的には透過であるべきです。 同様に、モジュールはオンデマンドでサブルーチン定義を slurp するような AUTOLOAD 関数をセットアップすることもできますが、これもまた透過であるべきです。 .pm ファイルだけが存在することを要求されます。 AUTOLOAD 機構に関する詳細は perlsub, perltoot, AutoLoader を 参照してください。

モジュール作成のガイドライン

  • Do similar modules already exist in some form?

    似たようなモジュールが既にありませんか?

    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.

    もしあれば、そのモジュール全体を使うか、新たなクラスに便利な機能を 継承して、再利用することを試みてください。 もしそれが現実的でないのなら、モジュールの拡張やすでにあるモジュールの 機能の拡張を、モジュールの作者と一緒に行うことを試みてください。 完全な例は、perl4 にあるコマンドラインオプションを取り扱うための パッケージです。

    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.

    もしあなたが既に存在しているモジュールのセットを拡張するモジュールを 書こうと言うのであれば、パッケージの作者と調整してください。 あなたが元の作者と同様の命名規則やモジュール相互作用規則に従うのならば、 それが助けになります。

  • Try to design the new module to be easy to extend and reuse.

    新しいモジュールを、拡張や再利用しやすいようにデザインすることを 試みてください。

    Try to use warnings; (or use warnings qw(...);). Remember that you can add no warnings qw(...); to individual blocks of code that need less warnings.

    use warnings; (または use warnings qw(...);) を試みてください。 たくさんの警告がいらないコードブロックに対しては no warnings qw(...); を追加できることも忘れないでください。

    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.,:

    bless されたリファレンスを使いましょう。 コンストラクタの第一引数として渡されたクラス名に bless するために、 二引数をとる bless を使いましょう。

     sub new {
         my $class = shift;
         return bless {}, $class;
     }

    or even this if you'd like it to be used as either a static or a virtual method.

    あるいは、静的メソッドと仮想メソッドのいずれとしても使いたいのであれば こうしましょう。

     sub new {
         my $self  = shift;
         my $class = ref($self) || $self;
         return bless {}, $class;
     }

    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.

    リファレンスとして配列を渡すので、より多くのパラメータを後で追加することが 可能です(そしてこのやり方は高速でもあります)。 関数を適切なメソッドへと変換します。 大きなメソッドを小さく、より柔軟なものに分割します。 適切であれば、他のモジュールからメソッドを継承します。

    Avoid class name tests like: die "Invalid" unless ref $ref eq 'FOO'. Generally you can delete the eq 'FOO' part with no harm at all. Let the objects look after themselves! Generally, avoid hard-wired class names as far as possible.

    die "Invalid" unless ref $ref eq 'FOO' のようなクラス名の検査は しないようにしましょう。 一般的に、ほとんど何の障害もなしに eq 'FOO' の部分を削除できます。 クラス名を直接表記することはできる限り避けるようにしましょう。

    Avoid $r->Class::func() where using @ISA=qw(... Class ...) and $r->func() would work (see perlbot for more details).

    @ISA=qw(... Class ...)$r->func() が使えるところでは $r->Class::func() を使うのは避けましょう (詳しくは perlbot を参照してください)。

    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:

    自動 split を使うことはあまりなく、新たに追加した関数がそれを使わない プログラムに負担を掛けることはありません。 モジュールの __END__ の後にテスト関数を追加して AutoSplit を使うか 以下のようにします:

     eval join('',<main::DATA>) || die $@ unless caller();

    Does your module pass the 'empty subclass' test? If you say @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: $obj = YOURCLASS->new(); into: $obj = SUBCLASS->new(); ?

    あなたのモジュールは 'empty subclass' テストを通過しますか? @SUBCLASS::ISA = qw(YOURCLASS); といったことをしているのなら、 あなたのアプリケーションは YOURCLASS と全く同じ方法で SUBCLASS を 使えるようにすべきです。 たとえば、$obj = YOURCLASS->new();$obj = SUBCLASS->new(); へと変更してもあなたのアプリケーションは 動作しますか?

    Avoid keeping any state information in your packages. It makes it difficult for multiple other packages to use yours. Keep state information in objects.

    パッケージ中でなんらかのステート情報を保持しつづけることは避けましょう。 なぜなら、それによってあなたのパッケージを他の複数のパッケージが 使うことが難しくなるからです。 ステート情報はオブジェクトに置くようにしましょう。

    Always use -w.

    いつでも -w を使いましょう。

    Try to use strict; (or use strict qw(...);). Remember that you can add no strict qw(...); to individual blocks of code that need less strictness.

    use strict; (もしくは use strict qw(...);) を試しましょう。 厳密さが余り必要でない独立したブロックには no strict qw(...); を 付加できるということを忘れないでください。

    Always use -w.

    いつでも -w を使いましょう。

    Follow the guidelines in the perlstyle(1) manual.

    マニュアルページ perlstyle(1) にあるガイドラインに従って下さい。

    Always use -w.

    いつでも -w を使いましょう。

  • Some simple style guidelines

    幾つかの単純なスタイルガイドライン

    The perlstyle manual supplied with Perl has many helpful points.

    Perl と一緒に提供されている perlstyle マニュアルには、多くの助けに なることが書かれています。

    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:

    コーディングスタイルとは、個々人の好みの問題です。 多くの人々は自分自身のスタイルを、自分自身でプログラムを書いたり 良く書かれているプログラムを保守することを通じて学び、何年もかけて 改良しています。 以下に経験を積んだ開発者によって広く使われている提案の集まりを 示します。

    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.

    語を区切るのにアンダースコアを使いましょう。 一般的に言って $var_names_like_this は $VarNamesLikeThis よりも読みやすく、 特に英語を母国語にしていない人にとってはそうです。 これはまた、VAR_NAMES_LIKE_THIS のように一貫して機能する 単純なルールでもあります。

    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).

    パッケージやモジュールの名前はこの規則の例外です。 Perl は非公式にですが、小文字だけからなるモジュール名を integer や strict のような「プラグマ」モジュールのために予約しています。 そのほかのモジュールは大文字で始まって、アンダースコアを使わない大小文字の 並びを使います(短く、可搬性があるようにする必要があります)。

    You may find it helpful to use letter case to indicate the scope or nature of a variable. For example:

    大小文字の区別を、変数の性質だとかスコープを示すために便利に使えることに 気がついたかもしれません。 例えば:

     $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
     $ALL_CAPS_HERE   定数のみ(Perl の変数とぶつからないか注意)
     $Some_Caps_Here  パッケージを通じてのグローバル/スタティック
     $no_caps_here    my() や local() で宣言された関数スコープの変数

    Function and method names seem to work best as all lowercase. e.g., $obj->as_string().

    関数名やメソッド名はすべて小文字にすることが最善でしょう。 例えば、$obj->as_string()

    You can use a leading underscore to indicate that a variable or function should not be used outside the package that defined it.

    先頭のアンダースコアを、変数や関数をそれが定義されているパッケージの 外側では使うべきではないということを示すために使うことができます。

  • Select what to export.

    エクスポートするものを選びましょう。

    Do NOT export method names!

    メソッド名をエクスポートしては いけません!

    Do NOT export anything else by default without a good reason!

    ちゃんとした理由なしに、何かをデフォルトでエクスポートするようなことは してはいけません!

    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.

    エクスポートはモジュールのユーザーの名前空間を汚染します。 エクスポートしなければならないのであれば、@EXPORT よりは むしろ @EXPORT_OK を使い、短い名前や一般的な名前がぶつかるリスクを 軽減します。

    Generally anything not exported is still accessible from outside the module using the ModuleName::item_name (or $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.

    一般的には、エクスポートされていないものもモジュールの外側から アクセスすることが ModuleName::item_name (もしくは $blessed_ref->method) 構文を使うことで可能です。 慣例により、あなたは名前の先頭にあるアンダースコアをその名前が 「内部的」なものであって、パブリックな用途のためのものではないことを 非公式に示すのに使えます。

    (It is actually possible to get private functions by saying: my $subref = sub { ... }; &$subref;. But there's no way to call that directly as a method, because a method must have a name in the symbol table.)

    (プライベートな関数は my $subref = sub { ... }; &$subref; の ようにして得ることが実際には可能です。 しかし、メソッドとして直接呼び出す方法はありません; なぜなら、メソッドは シンボルテーブルの中で名前を持っていなければならないからです。)

    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.

    一般的な規則として、モジュールがオブジェクト指向であろうとするなら、 なにもエクスポートしません。 モジュールが単に関数の集合であるなら、警告付きで @EXPORT を 使うのではなく、すべて @EXPORT_OK を使います。

  • Select a name for the module.

    モジュールのための名前を選択しましょう。

    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.

    この名前は、可能な限り説明的で、厳密な、完全なものであるべきです。 曖昧さのリスクを避けましょう。 常に二つ以上の単語を使うことを考えましょう。 一般的には、名前はそのモジュールがどのようにしているかではなく、 何をしているかという特性を反映したものであるべきです。 ネストしたモジュールを、グループに非公式な名前を付けたりモジュールを 分類するために使ってください。 ネストした名前を持たないモジュールは、そのためのきちんとした 理由を持つべきです。 モジュール名は大文字で始まるべきです。

    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.

    Sort と呼ばれる 57 のモジュールをすべて持つことは、簡単なことでは ありません(Sort::Quick と呼ばれる 23 についてのみ考えることが より想像しやすいでしょう :-)。 誰かがあなたのモジュールを他の多くのモジュールと一緒に インストールすることを想像してください。 なにか疑問があれば comp.lang.perl.misc で提案してみてください。

    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.

    関連したモジュール/クラスの一揃えを開発するのであれば、それは名前空間を 破壊することを防ぐような一般的なプリフィックスを持つネストした クラスを使うよい練習になるでしょう。 たとえば Xyz::Control, Xyz::View, Xyz::Model といったものです。 命名ガイドとしてこのリストにあるモジュールを使ってください。

    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.

    ある集合に新しいモジュールを追加するのなら、元の作者の標準に従った モジュールのネーミングやメソッドのインターフェースを使ってください。

    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::*.

    もしプライベートな内部やプロジェクト固有の用途のために開発中のモジュールが 決して公開されることがないなら、将来の公開モジュールと名前が 衝突しないことを確実にしてください。 これは、予約済みの Local::* カテゴリを使うか、 Foo_Corp::* のように 名前にした戦を含めることで行えます。

    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.

    モジュールの各コンポーネントを可搬性あるものにするために、名前は 11 文字以下に制限すべきでしょう。 MS-DOS 上で使われる可能性のあるものであれば、各コンポーネントが 最初の 8 文字で区別できるようにしてください。 ネストモジュールはこれを簡単にしてくれます。

  • Have you got it right?

    正しくやりましたか?

    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?

    あなたが正しい判断をしたと、どのように知りますか? 後で問題を引き起こすようなインターフェースデザインを取り除きましたか? 最も適切な名前を選択しましたか? なにか質問はありませんか?

    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.

    確実に知る方法、そして多くの助けになる提案をとりあげる最善の方法とは、 その方法を知っている人に訊くということです。 comp.lang.perl.misc はモジュールを開発した人全てが読んでいて、 尋ねる場所には最も良い場所です。

    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!)

    あなたがする必要があるのは、モジュールの手短な要約、その目的と インターフェースを投稿することです。 主なメソッドのそれぞれについて二、三行あれば十分でしょう。 (あなたがモジュール全体を投稿したら、忙しい人 - つまりあなたが 一番読んで欲しい人達は無視してしまうかもしれません!)

    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!

    モジュールがいつ完成するか言えなくても投稿することを恐がることは ありません - メッセージの中でそう言えば良いのです。 誰かがあなたを助けて、完成できるようにしてくれるかもしれないのです!

  • README and other Additional Files.

    README とその他の付加的なファイル。

    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:

    ソフトウェアの開発者は、通常自分が作ったソフトウェアの完全な ドキュメントを作成します。 しかし、世界があなたのソフトウェアすぐにでも必要にして、ドキュメントを 作成するのに十分な時間が無かったとしても、最低限 README ファイルを 含めるようにしてください。

    • A description of the module/package/extension etc.

      モジュール/パッケージ/拡張などの記述。

    • A copyright notice - see below.

      著作権表記 - 後述します。

    • Prerequisites - what else you may need to have.

      前提条件 - 必要になるようなこと、もの。

    • How to build it - possible changes to Makefile.PL etc.

      ビルドの方法 - 可能な Makefile.PL などの変更。

    • How to install it.

      インストールの仕方。

    • Recent changes in this release, especially incompatibilities

      今回のリリースであった変更点、特に非互換なもの

    • Changes / enhancements you plan to make in the future.

      あなたが将来に向けて考えている変更や拡張。

    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.

    README ファイルが非常に大きくなりそうなら、それを INSTALL, Copying, ToDo などのセクションごとのファイルに分割したいと考えるかもしれません。

    • Adding a Copyright Notice.

      著作権表記の追加。

      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.

      あなたの成果にどのようにライセンスを選択するかは個人的な決定事項です。 一般的な仕組みは、あなたの著作権を表明し、あなたの成果をどのように 他人がコピーしたり、使ったり、変更したりできるかを宣言するものです。

      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 perlgpl and perlartistic). Larry has good reasons for NOT just using the GNU GPL.

      たとえば Perl では、二種類のライセンスを提供しています: GNU GPL と Artistic Licence (README、Copying、Artistic といったファイルや perlgplperlartistic を参照してください)がそれです。 Larry は単に GNU GPL だけを使わないちゃんとした理由を持っています。

      My personal recommendation, out of respect for Larry, Perl, and the Perl community at large is to state something simply like:

      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.

      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.

      この文言が少なくとも README ファイルになければなりません。 これを、Copying というファイルやソースファイルに含めることもできます。 著作権に付け加える他の言葉を忘れないでください。

    • Give the module a version/issue/release number.

      モジュールに version/issue/release 番号を付ける。

      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, $VERSION = "0.01"). Don't use a "1.3.2" style version. See Exporter for details.

      Exporter や MakeMaker モジュールに対する完全な互換性を持つために、 あなたは自分のモジュールのバージョン番号を、my ではないパッケージ変数 $VERSION に格納すべきです。 これは小数点の後に少なくとも二桁の数字を持った浮動小数点で あるべきものです(例: $VERSION = "0.01")。 "1.3.2" という形式のバージョンは使ってはいけません。 詳しくは、Exporter を参照してください。

      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.

      番号を取得するための関数やメソッドを追加するのが良いでしょう。 この番号を、アナウンスとモジュールをリリースするときのアーカイブ ファイル名 (ModuleName-1.02.tar.Z) に使います。 詳しくは ExtUtils::MakeMaker.pm を参照してください。

    • How to release and distribute a module.

      モジュールのリリースと配布の仕方。

      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.

      あなたの作ったモジュールが使えるということのアナウンス(モジュールが 小さければモジュールそれ自身)を Usenet ニューズグループの comp.lang.perl.announce に投稿することは良い考えです。 これは、少なくとも広い範囲に渡る配布を保証するでしょう。

      If possible, register the module with CPAN. You should include details of its location in your announcement.

      可能であれば、モジュールを CPAN に登録しましょう。 その場所の詳細をあなたのアナウンスに含めるべきでしょう。

      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.

      ftp アーカイブについて注意すべき幾つかのこと: バージョン番号を含んだ 長い説明的な名前を使ってください。 ほとんどの incoming ディレクトリは読み込み/一覧可能になってはいないので、 あなたはアップロードした後でそのファイルを見ることができないでしょう。 アップロードしたら、できるだけ早く email による通知を送ることを 忘れないでください; そうしなければあなたのファイルは自動的に削除されてしまうかもしれません。 ファイルの場所をアナウンスする前に、あなたのファイルが 処理されたりチェックされるのに時間が掛かることを考慮してください。

      FTP Archives for Perl Modules:

      Perl モジュールのための FTP アーカイブ:

      Follow the instructions and links on:

      手順に従って以下へリンクします:

         http://www.cpan.org/modules/00modlist.long.html
         http://www.cpan.org/modules/04pause.html

      or upload to one of these sites:

      あるいは以下のサイトのいずれかにアップロードします:

         https://pause.kbx.de/pause/
         http://pause.perl.org/pause/

      and notify <modules@perl.org>.

      そして <modules@perl.org> に通知します。

      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!

      WWW インターフェースを使うことによって、あなたのモジュールをあなたの ftp サイトや WWW サイトから CPAN のあなたのディレクトリへ ミラーリングできるかアップロードサーバーに尋ねることができます!

      Please remember to send me an updated entry for the Module list!

      モジュールリストの更新されたエントリーを私に知らせることを 忘れないでください!

    • Take care when changing a released module.

      リリースされたモジュールを変更するときには注意すること。

      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.

      常に以前にリリースしたバージョンとの互換性を保つように努力すること。 あるいは、ユーザーが古い振る舞いに頼っているのであれば、 そういった振る舞いを行うような機構を追加すること。 非互換な修正をドキュメント化すること。

Perl4 のライブラリスクリプトをモジュールに変換するガイドライン

  • There is no requirement to convert anything.

    すべてを変換する必要はありません。

    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.

    もし不具合がないのなら、修正してはいけません! Perl 4 のライブラリにあったスクリプトは問題なしに動作するはずなのです。 幾つかのちょっとした変更(ダブルクォーテーションに囲まれた文字列中の、 配列を示すものではない @ をエスケープするとか)を行う必要があるかも しれませんが、.pl ファイルをモジュールへと変換する必要性はありません。

  • Consider the implications.

    連携を考慮しましょう。

    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?

    そのスクリプトを使っている Perl アプリケーションのすべては、 スクリプトがモジュールへと変更されたならばアプリケーションも変更する 必要があるでしょう。 他の変更を同時に行うことをあなたが考えていないのなら、 それは価値あることでしょうか?

  • Make the most of the opportunity.

    多くの機会を得よう。

    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.

    スクリプトをモジュールに変換しようというのであれば、あなたはそれを インターフェースの再デザインの機会として使うことができます。 上述した Guidelines for Module Creation にはあなたが考慮すべき事柄の 多くが含まれています。

  • The pl2pm utility will get you started.

    まず pl2pm ユーティリティから始めましょう。

    This utility will read *.pl files (given as parameters) and write corresponding *.pm files. The pl2pm utilities does the following:

    このユーティリティは *.pl ファイル(引数として与えます)を読み込み、 それに対応する *.pm ファイルを出力します。 pl2pm ユーティリティは以下のことを行います。

    • Adds the standard Module prologue lines

      標準的なモジュールプロローグ行の付加

    • Converts package specifiers from ' to ::

      パッケージ指定子の ' から :: への変更

    • Converts die(...) to croak(...)

      die(...) から croak() への変更

    • Several other minor changes

      幾つかのちょっとした変更

    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!

    pl2pm の機械的な処理は完全ではありません。 変換されたコードは、特にパッケージ文についてよくチェックしておく必要が あるでしょう。 新しい .pm がきちんと動くようになるまでは、元の .pl ファイルを 削除してはいけません!

アプリケーションプログラムの再利用のためのガイドライン

  • Complete applications rarely belong in the Perl Module Library.

    完全なアプリケーションはほとんど Perl モジュールライブラリに 属していません。

  • Many applications contain some Perl code that could be reused.

    多くのアプリケーションは幾つかの再利用可能な Perl コードを 含んでいます。

    Help save the world! Share your code in a form that makes it easy to reuse.

    世界を救うことに協力しましょう! あなたのプログラムを再利用が簡単なようにする形式で共有しましょう。

  • Break-out the reusable code into one or more separate module files.

    再利用可能なプログラムを独立したモジュールファイルに分けます。

  • Take the opportunity to reconsider and redesign the interfaces.

    インターフェースの再検討と再設計の機会を持ちましょう。

  • In some cases the 'application' can then be reduced to a small

    一部の「アプリケーション」は、再利用可能なモジュールのトップにある

    fragment of code built on top of the reusable modules. In these cases the application could invoked as:

    小さなコード片に縮小することができます。 この場合、アプリケーションは以下の様に起動することが可能です。

         % perl -e 'use Module::Name; method(@ARGV)' ...
    or
         % perl -mModule::Name ...    (in perl5.002 or higher)

注意

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.

C++、Ada、Modula-17 といった他の言語のようにモジュールの一部分を private にするとか、public にするといったことを Perl は強制するようなことは ありません。 Perl はプライバシーを強制することに夢中になることはしません。 あなたがリビングルームの外に留まっているのはあなたが招待されていないからで、 ショットガンを持っているからではないからです。

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 use RedefineTheWorld that you're redefining the world and willing to take the consequences.

モジュールとそのユーザーは不文律の一部として、契約を交わしています。 そして、その一部は「書かれて」います。 不文律契約の一部としては、モジュールが、委譲されていない名前空間を 汚染しないことです。 モジュールのために書かれた契約(ドキュメント)は、異なる規約を 作ることが可能です。 しかしその後、あなたが世界を再定義 (redefining the world) する use RedefineTheWorld を使ったときにそれによって起こる結果を 享受することを知ることになるでしょう。