これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドperlmodlibです。
プログラム:
NAME
perlmodlib-新しいPerlモジュールを構築し、既存のモジュールを見つける
、 パー モジュール としょうかん
多くのモジュールがPerlディストリビューションに含まれています。 これらは以下に説明されており、すべて
で終わる .pm。 コンパイルされたライブラリファイルを見つけることができます(通常はで終わります 。そう)または小さい
自動ロードされるモジュールの断片(で終わる .al); これらはによって自動的に生成されました
インストールプロセス。 また、ライブラリディレクトリで終了するファイルを見つけることもできます
いずれか .pl or .ph。 これらは、それらを使用する古いプログラムが提供するように提供された古いライブラリです。
まだ実行されます。 NS .pl ファイルはすべて最終的に標準モジュールに変換され、
.ph によって作られたファイル 時2時 おそらくによって作られた拡張モジュールとして終わるでしょう h2xs。 (いくつか .ph
値は、POSIX、Errno、またはFcntlモジュールを通じてすでに利用可能である可能性があります。) 午後2時
ディストリビューション内のファイルは変換に役立つ場合がありますが、それは単なる機械的なプロセスです
したがって、防弾にはほど遠い。
実践的 モジュール
これらは、コンパイラディレクティブ(プラグマ)のように機能し、
プログラムのコンパイル、したがって通常は内で使用された場合にのみうまく機能します
「使用する」または「いいえ」。 これらのほとんどは字句スコープであるため、内部ブロックが反対する可能性があります
彼らは言うことによって:
整数なし。
厳密な 'refs'はありません。
警告なし;
それはそのブロックの終わりまで続きます。
一部のプラグマは、字句スコープが設定されています。通常、$ ^ Hヒント変数に影響を与えるプラグマです。
代わりに、「usevars」や「usesubs」など、現在のパッケージに影響を与えるものもあります。
特定の変数またはサブルーチンを事前に宣言する file 単なる
ブロック。 このような宣言は、宣言されたファイル全体に対して有効です。
「変数なし」または「潜水艦なし」でそれらを取り消すことはできません。
次のプラグマが定義されています(独自のドキュメントがあります)。
arybase $ [を介してインデックスベースを設定します
属性サブルーチンまたは変数属性を取得/設定します
autodie関数を成功する関数または字句スコープで終了する関数に置き換えます
autodie :: exception
自動染色機能の例外。
autodie :: exception :: system
自動染色の例外 システム().
autodie ::ヒント
自動ダイへのユーザーサブルーチンに関するヒントを提供する
autodie :: skip
自動ダイ例外をスローするときにパッケージをスキップする
autouse関数が使用されるまでモジュールのロードを延期します
baseコンパイル時に基本クラスとのISA関係を確立します
bigintのPerlに対する透過的なBigIntegerのサポート
Perlのbignum透過BigNumberサポート
bigratのPerlに対する透過的なBigNumber / BigRationalのサポート
blibMakeMakerのアンインストールされたバージョンのパッケージを使用する
bytes文字セマンティクスではなくバイトセマンティクスを強制する
charnamesUnicode文字名および名前付き文字シーケンスへのアクセス。 また、定義する
キャラクター名
定数宣言定数
モジュールのコアバージョンを非推奨にするためのPerlプラグマを非推奨
診断詳細な警告診断を生成します
エンコーディング非ASCIIおよび非UTF-8でスクリプトを記述できます
encoding :: warnings
暗黙的なエンコーディング変換について警告する
実験的
実験的な機能が簡単に
機能新しい機能を有効にする
フィールドコンパイル時クラスフィールド
filetestfiletest権限演算子を制御します
条件が成立する場合にPerlモジュールを「使用」する場合(モジュールを「使用しない」こともできます)
integer浮動小数点の代わりに整数演算を使用する
要求が少ない何かの要求が少ない
libコンパイル時に@INCを操作する
ロケール組み込み操作にPOSIXロケールを使用または回避する
mroメソッド解決順序
ok Test :: More :: use_okの代替
open入力と出力のデフォルトのPerlIOレイヤーを設定します
opsコンパイル時に安全でない操作を制限する
Perl操作をオーバーロードするためのオーバーロードパッケージ
オーバーロード過負荷を字句的に制御する
親コンパイル時に基本クラスとのISA関係を確立します
re正規表現の動作を変更する
sigtrap単純な信号処理を有効にする
ソートコントロール ソート() 行動
strict安全でない構造を制限する
subsサブ名を事前に宣言する
スレッドPerlインタプリタベースのスレッド
スレッド::共有
スレッド間でデータ構造を共有するためのPerl拡張機能
utf8ソースコードでUTF-8(またはUTF-EBCDIC)を有効/無効にします
varsグローバル変数名を事前宣言します
バージョンオブジェクトのバージョンPerl拡張
vmsish ControlVMS固有の言語機能
警告::登録
警告インポート機能
スタンダード モジュール
標準のバンドルされたモジュールはすべて、明確に定義された方法で動作することが期待されています
Exporterモジュールを使用しているため、名前空間の汚染につながります。 独自のドキュメントを参照してください
詳細については。
以下にリストされているすべてのモジュールがシステムにインストールされているとは限らない可能性があります。 例えば、
gdbmライブラリがない場合、GDBM_Fileモジュールはインストールされません。
AnyDBM_File複数のDBMにフレームワークを提供します
App :: CpanコマンドラインからCPANと簡単にやり取りできます
App :: Prove「prove」コマンドを実装します。
App :: Prove :: State
「prove」コマンドの状態ストレージ。
App :: Prove :: State :: Result
個々のテストスイートの結果。
App :: Prove :: State :: Result :: Test
個々のテスト結果。
アーカイブ:: Tar
tarアーカイブを操作するためのモジュール
アーカイブ:: Tar ::ファイル
Archive :: Tarからメモリ内に抽出されたファイルのサブクラス
属性::ハンドラー
属性ハンドラーのより簡単な定義
AutoLoaderはオンデマンドでのみサブルーチンをロードします
AutoSplit自動ロード用にパッケージを分割します
BPerlコンパイラバックエンド
B :: Concise Walk Perl構文ツリー、opsに関する簡潔な情報を出力
B :: Debug Walk Perl構文ツリー、opsに関するデバッグ情報を出力
B :: Perlコンパイラバックエンドを逆解析してperlコードを生成する
B :: Op_private
OPop_privateフラグの定義
B :: Showlex関数またはファイルで使用される字句変数を表示します
B :: Terse Walk Perl構文ツリー、opsに関する簡潔な情報を出力
B :: XrefPerlプログラムの相互参照レポートを生成します
ベンチマークPerlコードのベンチマーク実行時間
「IO :: Socket :: IP」
IPv4とIPv6の両方をサポートするファミリニュートラルIPソケット
「ソケット」ネットワーク定数とサポート関数
PerlのコアルーチンのCORE名前空間
CPANクエリ、CPANサイトからのperlモジュールのダウンロードとビルド
CPAN :: API :: HOWTO
CPAN.pmでプログラミングするためのレシピ本
CPAN :: DebugCPAN.pmの内部デバッグ
CPAN :: Distroprefs
distroprefsを読み取って照合します
CPAN :: FirstTime
CPAN :: Configファイルの初期化のためのユーティリティ
CPAN :: HandleConfig
CPAN.pmの内部構成処理
CPAN :: Kwalify
CPAN.pmとKwalify.pm間のインターフェース
CPAN :: Meta CPANdistの配布メタデータ
CPAN :: Meta :: Converter
CPAN配布メタデータ構造を変換する
CPAN :: Meta :: Feature
CPANディストリビューションが提供するオプション機能
CPAN :: Meta :: History
CPANメタスペック変更の履歴
CPAN :: Meta :: History :: Meta_1_0
META.ymlのバージョン1.0メタデータ仕様
CPAN :: Meta :: History :: Meta_1_1
META.ymlのバージョン1.1メタデータ仕様
CPAN :: Meta :: History :: Meta_1_2
META.ymlのバージョン1.2メタデータ仕様
CPAN :: Meta :: History :: Meta_1_3
META.ymlのバージョン1.3メタデータ仕様
CPAN :: Meta :: History :: Meta_1_4
META.ymlのバージョン1.4メタデータ仕様
CPAN :: Meta :: Merge
CPANメタフラグメントのマージ
CPAN :: Meta :: Prereqs
フェーズおよびタイプ別の配布前提条件のセット
CPAN :: Meta ::要件
CPANdistのバージョン要件のセット
CPAN :: Meta :: Spec
CPAN配布メタデータの仕様
CPAN :: Meta :: Validator
CPAN配布メタデータ構造を検証する
CPAN :: Meta :: YAML
CPANメタファイルのYAMLのサブセットの読み取りと書き込み
XSモジュールを使用せずにCPAN.pmの周りのCPAN :: Noxラッパー
CPAN ::プラグイン
CPANシェル拡張の基本クラス
CPAN :: Plugin :: Specfile
些細なCPAN :: Pluginの概念実証実装
CPAN :: QueueCPAN.pmの内部キューのサポート
CPAN :: Tarzip
CPAN.pmのtarアーカイブの内部処理
CPAN ::バージョン
CPANバージョンを比較するユーティリティ関数
鯉の代替はモジュールのために警告して死ぬ
クラス::構造体
構造体のようなデータ型をPerlクラスとして宣言する
Compress :: Raw :: Bzip2
bzip2圧縮ライブラリへの低レベルインターフェイス
Compress :: Raw :: Zlib
zlib圧縮ライブラリへの低レベルインターフェイス
圧縮::Zlib
zlib圧縮ライブラリへのインターフェース
構成アクセスPerl構成情報
Config :: Perl :: V
perl-V出力の構造化データ検索
Cwd現在の作業ディレクトリのパス名を取得します
PerlデバッグAPIへのDBプログラムインターフェイス
DBM_FilterDBMキー/値をフィルタリングします
DBM_Filter :: compress
DBM_Filterのフィルター
DBM_Filter :: encode
DBM_Filterのフィルター
DBM_Filter :: int32
DBM_Filterのフィルター
DBM_Filter :: null
DBM_Filterのフィルター
DBM_Filter :: utf8
DBM_Filterのフィルター
BerkeleyDBバージョン5.xへのDB_FilePerl1アクセス
データ::ダンパー
印刷と「評価」の両方に適した文字列化されたperlデータ構造
Devel :: PPPort
Perl /汚染/移植性
Devel :: PeekXSプログラマー向けのデータデバッグツール
Devel :: SelfStubber
SelfLoadingモジュールのスタブを生成する
メッセージダイジェストを計算するダイジェストモジュール
MD5アルゴリズムへのDigest :: MD5Perlインターフェース
SHA-1 / 224/256/384/512用のDigest :: SHAPerl拡張機能
ダイジェスト::ベース
ダイジェスト基本クラス
ダイジェスト::ファイル
ファイルのダイジェストを計算する
DirHandleディレクトリハンドルのオブジェクトメソッドを提供します
DumpvaluePerlデータのスクリーンダンプを提供します。
DynaLoaderはCライブラリをPerlコードに動的にロードします
Perlで文字エンコーディングをエンコードする
Encode :: Alias
エンコーディングへのエイリアス定義
Encode :: Byte
シングルバイトエンコーディング
Encode :: CJKConstants
Encode :: ?? :: ISO_2022_ *によって内部的に使用されます
Encode :: CN中国ベースの中国のエンコーディング
エンコード:: CN :: HZ
Encode :: CNによって内部的に使用されます
Encode :: Config
Encodeによって内部的に使用されます
Encode :: EBCDIC
EBCDICエンコーディング
Encode :: Encoder
オブジェクト指向エンコーダー
Encode :: Encoding
実装基本クラスのエンコード
Encode :: GSM0338
ESTI GSM03.38エンコーディング
Encode :: Guess
データからエンコーディングを推測します
Encode :: JP日本語エンコーディング
エンコード:: JP :: H2Z
Encode :: JP :: 2022_JP *によって内部的に使用されます
エンコード:: JP :: JIS7
Encode :: JPによって内部的に使用されます
Encode :: KR韓国語エンコーディング
エンコード:: KR :: 2022_KR
Encode :: KRによって内部的に使用されます
Encode :: MIME :: Header
MIME「B」および「Q」ヘッダーエンコーディング
Encode :: MIME :: Name
Encodeによって内部的に使用されます
Encode :: PerlIO
EncodeとPerlIOに関する詳細なドキュメント
Encode :: Supported
Encodeでサポートされているエンコーディング
Encode :: Symbol
シンボルエンコーディング
Encode :: TW台湾ベースの中国のエンコーディング
Encode :: Unicode
さまざまなUnicode変換フォーマット
Encode :: Unicode :: UTF7
UTF-7エンコーディング
英語醜い句読点変数には素敵な英語(またはawk)名を使用してください
環境変数をスカラーまたは配列としてインポートするEnvPerlモジュール
Errnoシステムのerrno定数
エクスポータは、モジュールのデフォルトのインポート方法を実装します
Exporter :: Heavy
輸出業者の根性
ExtUtils :: CBuilder
PerlモジュールのCコードをコンパイルしてリンクする
ExtUtils :: CBuilder :: Platform :: Windows
Windowsプラットフォーム用のビルダークラス
ExtUtils ::コマンド
Makefilesなどの一般的なUNIXコマンドを置き換えるユーティリティ。
ExtUtils :: Command :: MM
Makefilesで使用するMMのコマンド
ExtUtils :: Constant
XSコードを生成して、Cヘッダー定数をインポートします
ExtUtils :: Constant :: Base
ExtUtils :: Constantオブジェクトの基本クラス
ExtUtils :: Constant :: Utils
ExtUtils :: Constantのヘルパー関数
ExtUtils :: Constant :: XS
XSモジュールの定数のCコードを生成します。
ExtUtils :: Embed
PerlをC / C ++アプリケーションに埋め込むためのユーティリティ
ExtUtils :: Install
ここからそこまでファイルをインストールします
ExtUtils ::インストール済み
インストールされたモジュールの在庫管理
ExtUtils :: Liblist
使用するライブラリとその使用方法を決定する
ExtUtils :: MM
OSで調整されたExtUtils :: MakeMakerサブクラス
ExtUtils :: MM_AIX
ExtUtils :: MM_UnixのAIX固有のサブクラス
ExtUtils :: MM_Any
プラットフォームに依存しないMMメソッド
ExtUtils :: MM_BeOS
ExtUtils :: MakeMakerでUN * Xの動作をオーバーライドするメソッド
ExtUtils :: MM_Cygwin
ExtUtils :: MakeMakerでUN * Xの動作をオーバーライドするメソッド
ExtUtils :: MM_DOS
ExtUtils :: MM_UnixのDOS固有のサブクラス
ExtUtils :: MM_Darwin
OSXの特別な動作
ExtUtils :: MM_MacOS
MacOSClassic用のMakefileを作成したら
ExtUtils :: MM_NW5
ExtUtils :: MakeMakerでUN * Xの動作をオーバーライドするメソッド
ExtUtils :: MM_OS2
ExtUtils :: MakeMakerでUN * Xの動作をオーバーライドするメソッド
ExtUtils :: MM_QNX
ExtUtils :: MM_UnixのQNX固有のサブクラス
ExtUtils :: MM_UWIN
ExtUtils :: MM_UnixのU / WIN固有のサブクラス
ExtUtils :: MM_Unix
ExtUtils :: MakeMakerで使用されるメソッド
ExtUtils :: MM_VMS
ExtUtils :: MakeMakerでUN * Xの動作をオーバーライドするメソッド
ExtUtils :: MM_VOS
ExtUtils :: MM_UnixのVOS固有のサブクラス
ExtUtils :: MM_Win32
ExtUtils :: MakeMakerでUN * Xの動作をオーバーライドするメソッド
ExtUtils :: MM_Win95
Win9X用にMakeMakerをカスタマイズする方法
ExtUtils :: MY
カスタマイズ用のExtUtils :: MakeMakerサブクラス
ExtUtils :: MakeMaker
モジュールMakefileを作成します
ExtUtils :: MakeMaker :: Config
Config.pmのラッパー
ExtUtils :: MakeMaker :: FAQ
MakeMakerに関するよくある質問
ExtUtils :: MakeMaker :: Locale
バンドルされたエンコード::ロケール
ExtUtils :: MakeMaker :: Tutorial
MakeMakerでモジュールを書く
ExtUtils :: Manifest
マニフェストファイルを作成およびチェックするためのユーティリティ
ExtUtils :: Miniperl
perlmain.cのCコードを記述します
ExtUtils :: Mkbootstrap
DynaLoaderで使用するブートストラップファイルを作成します
ExtUtils :: Mksymlists
動的拡張用のリンカーオプションファイルを作成する
ExtUtils::パックリスト
.packlistファイルを管理する
ExtUtils :: ParseXS
PerlXSコードをCコードに変換します
ExtUtils :: ParseXS :: Constants
一部のグローバルの初期化値
ExtUtils :: ParseXS :: Eval
コードを評価するためのクリーンなパッケージ
ExtUtils :: ParseXS :: Utilities
ExtUtils :: ParseXSで使用されるサブルーチン
ExtUtils :: Typemaps
Perl / XSタイプマップファイルの読み取り/書き込み/変更
ExtUtils :: Typemaps :: Cmd
タイプマップを処理するためのクイックコマンド
ExtUtils :: Typemaps :: InputMap
タイプマップのINPUTセクションのエントリ
ExtUtils :: Typemaps :: OutputMap
タイプマップのOUTPUTセクションのエントリ
ExtUtils :: Typemaps :: Type
タイプマップのTYPEMAPセクションのエントリ
ExtUtils :: XSSymSet
シンボル名のセットをVMSリンカーにとって口に合うように保つ
ExtUtils :: testlib
blib / *ディレクトリを@INCに追加します
致命的な置換関数は、成功または消滅する同等のものに置き換えます
FcntlロードCFcntl.hが定義する
File :: Basename
ファイルパスをディレクトリ、ファイル名、サフィックスに解析します。
File :: Compare
ファイルまたはファイルハンドルを比較する
File :: Copyファイルまたはファイルハンドルをコピーします
ファイル::DosGlob
グロブのようなDOS、そしていくつか
File :: Fetch一般的なファイルフェッチメカニズム
File :: Findディレクトリツリーをトラバースします。
File :: GlobBSDグロブルーチン用のPerl拡張子
File :: GlobMapper
ファイルグロブを拡張して、入力ファイルと出力ファイルを許可する
File :: Pathディレクトリツリーを作成または削除します
File :: Specファイル名に対して移植性のある操作を実行します
File :: Spec :: Cygwin
Cygwinファイル仕様のメソッド
File :: Spec :: Epoc
Epocファイル仕様のメソッド
File :: Spec :: Functions
ファイル名に対して移植性のある操作を実行します
File :: Spec :: Mac
File :: Spec for Mac OS(クラシック)
File :: Spec :: OS2
OS / 2ファイル仕様のメソッド
File :: Spec :: Unix
Unixの場合はFile :: Spec、他のFile :: Specモジュールの場合はベース
File :: Spec :: VMS
VMSファイル仕様のメソッド
File :: Spec :: Win32
Win32ファイル仕様のメソッド
File :: Temp一時ファイルの名前とハンドルを安全に返す
File :: statPerlの組み込みへの名前によるインターフェース stat() 機能
FileCacheシステムが許可するよりも多くのファイルを開いたままにします
FileHandleファイルハンドルのオブジェクトメソッドを提供します
Filter :: Simple
簡略化されたソースフィルタリング
Filter :: Util :: Call
Perlソースフィルターユーティリティモジュール
FindBin元のperlスクリプトのディレクトリを検索します
GDBM_FilePerl5によるgdbmライブラリへのアクセス。
Getopt :: Long
コマンドラインオプションの拡張処理
Getopt :: Stdスイッチクラスタリングを使用して単一文字スイッチを処理します
HTTP :: Tiny小さく、シンプルで、正しいHTTP /1.1クライアント
Hash :: Util一般的なユーティリティハッシュサブルーチンの選択
Hash :: Util :: FieldHash
インサイドアウトクラスのサポート
I18N ::照合
現在のロケールに従って8ビットのスカラーデータを比較します
I18N :: LangTags
RFC3066スタイルの言語タグを処理するための関数
I18N :: LangTags :: Detect
ユーザーの言語設定を検出する
I18N :: LangTags :: List
人間の言語のタグと名前
I18N :: Langinfo
ロケール情報のクエリ
IOさまざまなIOモジュールをロードします
IO :: Compress :: Base
IO :: Compressモジュールの基本クラス
IO :: Compress :: Bzip2
bzip2ファイル/バッファを書き込む
IO :: Compress :: Deflate
RFC1950ファイル/バッファを書き込む
IO :: Compress :: FAQ
IO :: Compressに関するよくある質問
IO :: Compress :: Gzip
RFC1952ファイル/バッファを書き込む
IO :: Compress :: RawDeflate
RFC1951ファイル/バッファを書き込む
IO :: Compress :: Zip
zipファイル/バッファを書き込む
IO :: Dirディレクトリハンドルのオブジェクトメソッドを提供します
IO :: Fileハンドルのファイル供給オブジェクトメソッド
IO :: Handle I / OハンドルのSupplyオブジェクトメソッド
IO :: PipePipeパイプのオブジェクトメソッドを提供します
システムポーリング呼び出しへのIO :: Pollオブジェクトインターフェイス
IO :: Seekable
I / Oオブジェクトのサプライシークベースのメソッド
IO :: SelectOOインターフェイスからselectシステムコールへ
IO :: SocketObjectインターフェイスからソケット通信へ
IO::ソケット::INET
AF_INETドメインソケットのオブジェクトインターフェイス
IO :: Socket :: UNIX
AF_UNIXドメインソケットのオブジェクトインターフェイス
IO :: Uncompress :: AnyInflate
zlibベースの(zip、gzip)ファイル/バッファを解凍します
IO :: Uncompress :: AnyUncompress
gzip、zip、bzip2、またはlzopファイル/バッファを解凍します
IO :: Uncompress :: Base
IO :: Uncompressモジュールの基本クラス
IO :: Uncompress :: Bunzip2
bzip2ファイル/バッファを読み取る
IO::圧縮解除::Gunzip
RFC1952ファイル/バッファを読む
IO :: Uncompress :: Inflate
RFC1950ファイル/バッファを読む
IO :: Uncompress :: RawInflate
RFC1951ファイル/バッファを読む
IO :: Uncompress :: Unzip
zipファイル/バッファを読み取る
IO :: Zlib IO :: Compress :: Zlibへのスタイルインターフェイス
IPC :: Cmdシステムコマンドの検索と実行が簡単になりました
IPC :: Msg SysV MsgIPCオブジェクトクラス
IPC :: Open2を使用して読み取りと書き込みの両方のプロセスを開きます open2()
IPC :: Open3を使用して、読み取り、書き込み、およびエラー処理のプロセスを開きます。 open3()
IPC ::セマフォ
SysVセマフォIPCオブジェクトクラス
IPC :: SharedMem
SysV共有メモリIPCオブジェクトクラス
IPC :: SysV System VIPC定数とシステムコール
JSON :: PP JSON :: XS互換のpure-Perlモジュール。
JSON :: PP :: Boolean
JSON :: PP :: Booleanを提供するダミーモジュール
List :: Util一般ユーティリティリストサブルーチンの選択
リスト:: Util :: XS
List :: UtilがCコンパイラでコンパイルされたかどうかを示します
ロケール::コード
ロケールコードを処理するためのモジュールの配布
ロケール::コード:: API
各モジュールの呼び出し可能な関数の説明
ロケール::コード::変更
詳細がLocale :: Codesに変更されました
ロケール::コード::定数
ロケールコードの定数
ロケール::コード::国
国識別の標準コード
ロケール::コード::通貨
通貨識別の標準コード
ロケール:: Codes :: LangExt
言語拡張識別の標準コード
ロケール:: Codes :: LangFam
言語拡張識別の標準コード
ロケール:: Codes :: LangFam_Retired
Locale :: Codes :: LangFamモジュールの廃止されたlangfamコード
ロケール:: Codes :: LangVar
言語変異識別の標準コード
ロケール::コード::言語
言語識別の標準コード
ロケール::コード::スクリプト
スクリプト識別の標準コード
ロケール::国
国識別の標準コード
ロケール::通貨
通貨識別の標準コード
ロケール::言語
言語識別の標準コード
ロケール:: Maketext
ローカリゼーションのフレームワーク
ロケール:: Maketext :: Cookbook
Locale :: Maketextを使用するためのレシピ
ロケール:: Maketext :: Guts
Locale :: Maketextutf8コードをロードするための非推奨モジュール
ロケール:: Maketext :: GutsLoader
Locale :: Maketextutf8コードをロードするための非推奨モジュール
ロケール:: Maketext :: Simple
Locale :: Maketext :: Lexiconへのシンプルなインターフェース
ロケール:: Maketext :: TPJ13
ソフトウェアのローカリゼーションに関する記事
ロケール::スクリプト
スクリプト識別の標準コード
MIME :: Base64
base64文字列のエンコードとデコード
MIME :: QuotedPrint
引用符で囲まれた印刷可能な文字列のエンコードとデコード
数学:: BigFloat
任意のサイズの浮動小数点演算パッケージ
Math :: BigInt
任意のサイズの整数/浮動小数点数学パッケージ
Math :: BigInt :: Calc
Math :: BigIntをサポートする純粋なPerlモジュール
Math :: BigInt :: CalcEmu
BigIntコードで低レベルの数学をエミュレートする
Math :: BigInt :: FastCalc
Math :: BigInt :: CalcをいくつかのXSで使用して速度を上げる
数学:: BigRat
任意の大きな有理数
数学::複雑
複素数と関連する数学関数
Math :: Trig三角関数
メモ化スペースを時間と交換することにより、関数を高速化します
メモ化:: AnyDBM_File
保存可能な使用のためにAnyDBM_FileにEXISTSを提供するための接着剤
メモ化::期限切れ
メモ化された値の自動期限切れのためのプラグインモジュール
メモ化:: ExpireFile
メモ化の有効期限セマンティクスをテストする
メモ化:: ExpireTest
メモ化の有効期限セマンティクスをテストする
メモ化:: NDBM_File
保存可能な使用のためにNDBM_FileのEXISTSを提供するための接着剤
メモ化:: SDBM_File
保管可能な使用のためにSDBM_FileのEXISTSを提供するための接着剤
メモ化::保存可能
メモ化されたデータを保存可能なデータベースに保存する
Module :: CoreList
Perlのバージョンに付属しているモジュール
Module :: CoreList :: Utils
perlのバージョンに付属しているユーティリティ
Module :: Load
モジュールとファイルの両方のランタイム要件
Module :: Load :: Conditional
モジュール情報の検索/実行時のロード
Module :: Loaded
モジュールをロード済みまたはアンロード済みとしてマーク
Module :: Metadata
PerlモジュールファイルからパッケージとPOD情報を収集します
NDBM_Filendbmファイルへのタイドアクセス
NEXTメソッドの再ディスパッチを可能にする疑似クラスNEXT(など)を提供します
Net :: Cmdネットワークコマンドクラス(FTP、SMTPなどで使用される)
Net :: Configlibnetのローカル構成データ
Net :: Domain現在のホストのインターネット名とドメインを評価しようとします
Net :: FTPFTPクライアントクラス
Net :: FTP :: dataconn
FTPクライアントデータ接続クラス
Net :: NNTPNNTPクライアントクラス
Net :: NetrcOOユーザーのnetrcファイルへのインターフェース
Net :: POP3 Post Office Protocol 3クライアントクラス(RFC1939)
Net :: Pingリモートホストの到達可能性を確認します
Net :: SMTPシンプルメール転送プロトコルクライアント
Net :: Time時間と昼間のネットワーククライアントインターフェイス
Net :: hostent
Perlの組み込みgethost *()関数への名前によるインターフェース
Net :: libnetFAQ
Libnetのよくある質問
Net :: netentPerlの組み込みgetnet *()関数への名前によるインターフェース
Net :: protoent
Perlの組み込みgetproto *()関数への名前によるインターフェース
Net :: servent
Perlの組み込みgetserv *()関数への名前によるインターフェース
OPerlコンパイラバックエンドへの汎用インターフェース
ODBM_Fileはodbmファイルへのアクセスを制限しました
オペコードperlコードをコンパイルするときに名前付きオペコードを無効にする
IEEE Std1003.1へのPOSIXPerlインターフェース
Params ::チェック
一般的な入力解析/チェックメカニズム。
解析:: CPAN ::メタ
META.ymlおよびMETA.jsonCPANメタデータファイルを解析します
Perl :: OSType
Perlオペレーティングシステム名をジェネリック型にマップします
PerlIOレイヤーおよびPerlIO :: *名前空間のルート用のPerlIOオンデマンドローダー
PerlIO :: encoding
エンコーディング層
PerlIO :: mmap
メモリマップドIO
PerlIO :: scalar
インメモリIO、スカラーIO
PerlIO :: perlに実装されたPerlIOレイヤーのヘルパークラスを介して
PerlIO :: via :: QuotedPrint
Quoted-PrintableStringsのPerlIOレイヤー
ポッド::エスケープ
ポッドE <...>シーケンスを解決するため
Pod :: FindディレクトリツリーでPODドキュメントを検索
ポッド::関数
Perlの関数をperlfunc.podにグループ化します
ポッドファイルをHTMLに変換するPod :: Htmlモジュール
Pod :: InputObjects
POD入力段落、コマンドなどを表すオブジェクト。
Pod :: ManPODデータをフォーマットされた* roff入力に変換します
Pod :: ParseLink
PODテキストのL <>フォーマットコードを解析します
Pod :: ParseUtils
PODの解析と変換のヘルパー
Pod :: ParserPODフィルターとトランスレーターを作成するための基本クラス
ポッド:: Perldoc
ポッド形式のPerlドキュメントを検索します。
Pod :: Perldoc :: BaseTo
Pod :: Perldocフォーマッターのベース
Pod :: Perldoc :: GetOptsOO
Pod :: Perldoc用にカスタマイズされたオプションパーサー
Pod :: Perldoc :: ToANSI
ANSIカラーエスケープでポッドをレンダリング
Pod :: Perldoc :: ToChecker
Perldocにポッドのエラーをチェックさせます
Pod :: Perldoc :: ToMan
Perldocにポッドをmanページとしてレンダリングさせます
Pod :: Perldoc :: ToNroff
Perldocにポッドをnroffに変換させます
Pod :: Perldoc :: ToPod
Perldocでポッドを...ポッドとしてレンダリングしましょう!
Pod :: Perldoc :: ToRtf
PerldocでポッドをRTFとしてレンダリングする
Pod :: Perldoc :: ToTerm
ターミナルエスケープでポッドをレンダリング
Pod :: Perldoc :: ToText
Perldocにポッドを平文としてレンダリングさせます
Pod :: Perldoc :: ToTk
PerldocにTk :: Podを使用してポッドをレンダリングさせます
Pod :: Perldoc :: ToXml
PerldocにポッドをXMLとしてレンダリングさせます
Pod :: PlainText
PODデータをフォーマットされたASCIIテキストに変換する
Pod :: Select入力からPODの選択したセクションを抽出する
Pod ::ポッドを解析するためのシンプルなフレームワーク
ポッド::シンプル::チェッカー
ドキュメントのポッド構文を確認してください
Pod :: Simple :: Debug
Pod :: Simpleをトレース/デバッグモードにします
Pod :: Simple :: DumpAsText
ポッド解析イベントをテキストとしてダンプ
Pod :: Simple :: DumpAsXML
ポッドをXMLに変換する
Pod :: Simple :: HTML
ポッドをHTMLに変換する
Pod :: Simple :: HTMLBatch
複数のポッドファイルを複数のHTMLファイルに変換します
Pod :: Simple :: LinkSection
Lコードの「セクション」属性を表す
Pod :: Simple :: Methody
Pod :: Simpleイベントをメソッド呼び出しに変える
Pod :: Simple :: PullParser
ポッドを解析するためのプルパーサーインターフェイス
Pod :: Simple :: PullParserEndToken
Pod :: Simple :: PullParserからのエンドトークン
Pod :: Simple :: PullParserStartToken
Pod :: Simple :: PullParserからのスタートトークン
Pod :: Simple :: PullParserTextToken
Pod :: Simple :: PullParserからのテキストトークン
Pod :: Simple :: PullParserToken
Pod :: Simple :: PullParserからのトークン
ポッド::シンプル:: RTF
ポッドをRTFとしてフォーマットする
ポッド::シンプル::検索
ディレクトリツリーでPODドキュメントを検索する
Pod :: Simple :: SimpleTree
ポッドを単純な解析ツリーに解析します
ポッド::シンプル::サブクラス化
フォーマッターをPod :: Simpleサブクラスとして記述します
ポッド::シンプル::テキスト
ポッドをプレーンテキストとしてフォーマットする
Pod :: Simple :: TextContent
ポッドのテキストコンテンツを取得する
Pod :: Simple :: XHTML
XHTMLを検証するものとしてポッドをフォーマットする
Pod :: Simple :: XMLOutStream
ポッドをXMLに変換する
Pod :: TextPODデータをフォーマットされたASCIIテキストに変換します
ポッド::テキスト::色
PODデータをフォーマットされたカラーASCIIテキストに変換する
Pod :: Text :: Termcap
PODデータをフォーマットエスケープを使用してASCIIテキストに変換する
Pod :: Usage埋め込まれたポッドドキュメントから使用法メッセージを出力します
SDBM_Filesdbmファイルへの接続アクセス
制限されたコンパートメントでコードを安全にコンパイルして実行する
Scalar :: Util
一般的なユーティリティのスカラーサブルーチンの選択
検索::ディクト
見てください-辞書ファイルでキーを検索してください
SelectSaver選択したファイルハンドルを保存および復元します
SelfLoaderLoadはオンデマンドでのみ機能します
Perlデータ構造の保存可能な永続性
Sub :: UtilサブおよびCODE参照用のユーティリティサブルーチンの選択
シンボルPerlシンボルとその名前を操作する
システム::ホスト名
ホスト名を取得するために考えられるすべての方法を試してください
UNIXへのSys :: SyslogPerlインターフェース syslog(3)電話
Sys :: Syslog :: Win32
Sys :: SyslogのWin32サポート
TAP :: Baseに共通の機能を提供するTAP :: Base基本クラス
TAP :: Formatter :: Base
ハーネス出力デリゲートの基本クラス
TAP :: Formatter :: Color
色付きのPerlテストスクリプトを実行する
TAP :: Formatter :: Console
デフォルトのコンソール出力用のハーネス出力デリゲート
TAP :: Formatter :: Console :: ParallelSession
並列コンソール出力用のハーネス出力デリゲート
TAP :: Formatter :: Console :: Session
デフォルトのコンソール出力用のハーネス出力デリゲート
TAP :: Formatter :: File
ファイル出力用のハーネス出力デリゲート
TAP :: Formatter :: File :: Session
ファイル出力用のハーネス出力デリゲート
TAP :: Formatter :: Session
ハーネス出力デリゲートの抽象基本クラス
TAP ::ハーネス
統計を使用してテストスクリプトを実行する
TAP :: Harness :: Env
必要に応じてハーネス関連の環境変数を解析する
すべての「TAP :: *」モジュールに共通の機能を提供するTAP :: Object基本クラス
TAP :: ParserTAP出力の解析
TAP :: Parser :: Aggregator
TAP :: Parserの結果を集約する
TAP :: Parser :: Grammar
Test AnythingProtocolの文法。
TAP :: Parser :: Iterator
TAPソースイテレータの基本クラス
TAP :: Parser :: Iterator :: Array
配列ベースのTAPソースのイテレータ
TAP :: Parser :: Iterator :: Process
プロセスベースのTAPソースのイテレータ
TAP :: Parser :: Iterator :: Stream
ファイルハンドルベースのTAPソースのイテレータ
TAP :: Parser :: IteratorFactory
特定のソースに使用するSourceHandlerオブジェクトを特定します
TAP :: Parser :: Multiplexer
マルチプレックスマルチTAP ::パーサー
TAP :: Parser :: Result
TAP :: Parser出力オブジェクトの基本クラス
TAP :: Parser :: Result :: Bailout
ベイルアウト結果トークン。
TAP :: Parser :: Result :: Comment
コメント結果トークン。
TAP :: Parser :: Result :: Plan
結果トークンを計画します。
TAP :: Parser :: Result :: Pragma
TAPプラグマトークン。
TAP :: Parser :: Result :: Test
テスト結果トークン。
TAP :: Parser :: Result :: Unknown
不明な結果トークン。
TAP :: Parser :: Result :: Version
TAP構文バージョントークン。
TAP :: Parser :: Result :: YAML
YAML結果トークン。
TAP :: Parser :: ResultFactory
TAP :: Parser出力オブジェクトを作成するためのファクトリ
TAP :: Parser :: Scheduler
並列テスト中にテストをスケジュールする
TAP :: Parser :: Scheduler :: Job
単一のテストジョブ。
TAP :: Parser :: Scheduler :: Spinner
ノーオペレーションジョブ。
TAP :: Parser :: Source
TAPソースとそれに関するメタデータ
TAP :: Parser :: SourceHandler
さまざまなTAPソースハンドラーの基本クラス
TAP :: Parser :: SourceHandler :: Executable
実行可能なTAPソースからのストリーム出力
TAP :: Parser :: SourceHandler :: File
テキストファイルからTAPをストリーミングします。
TAP :: Parser :: SourceHandler :: Handle
IO :: HandleまたはGLOBからTAPをストリーミングします。
TAP :: Parser :: SourceHandler :: Perl
Perl実行可能ファイルからTAPをストリーミングします
TAP :: Parser :: SourceHandler :: RawTAP
生のTAPからの出力をスカラー/配列参照でストリームします。
TAP :: Parser :: YAMLish :: Reader
イテレータからYAMLishデータを読み取る
TAP :: Parser :: YAMLish :: Writer
YAMLishデータを書き込む
Term :: ANSIColor
ANSIエスケープシーケンスを使用したカラー画面出力
Term :: Cap Perltermcapインターフェース
用語::完了
Perlワード補完モジュール
Term :: ReadLine
さまざまな「readline」パッケージへのPerlインターフェース。
テストテストスクリプトを作成するためのシンプルなフレームワークを提供します
Test :: Builder
テストライブラリを構築するためのバックエンド
Test :: Builder :: IO :: Scalar
Test :: Builder用のIO :: Scalarのコピー
Test :: Builder :: Module
テストモジュールの基本クラス
Test :: Builder :: Tester
で構築されたテストスイート
Test :: Builder :: Tester :: Color
Test :: Builder :: Testerで色をオンにします
テスト::ハーネス
統計を使用してPerl標準テストスクリプトを実行する
テスト::ハーネス::ビヨンド
テストを超えて
Test :: Moreテストスクリプトを作成するためのさらに別のフレームワーク
Test :: Simple
テストを書くための基本的なユーティリティ。
Test :: Tester
Test :: Builderで構築されたテストモジュールのテストを容易にする
Test :: Tester :: Capture
Test :: Builderで構築されたテストモジュールのテストを支援する
Test :: Tester :: CaptureRunner
Test :: Builderで構築されたテストモジュールのテストを支援する
Test :: Tutorial
本当に基本的なテストを書くことについてのチュートリアル
Test :: use :: ok
Test :: More :: use_okの代替
テキスト::略語
略語-リストから略語テーブルを作成します
テキスト::バランス
文字列から区切られたテキストシーケンスを抽出します。
テキスト::単語の解析
テキストをトークンの配列または配列の配列に解析します
Text :: Tabsunixのようにタブを展開および展開解除します 拡張(1)と 展開しない(1)
Text :: Wrap行の折り返しで簡単な段落を作成する
スレッドPerlでスレッドを操作する(古いコードの場合のみ)
スレッド::キュー
スレッドセーフキュー
スレッド::セマフォ
スレッドセーフなセマフォ
Tie :: Arrayタイ配列の基本クラス
Tie :: FilePerl配列を介してディスクファイルの行にアクセスします
Tie :: Handleタイドハンドルの基本クラス定義
Tie :: Hashタイハッシュの基本クラス定義
Tie :: Hash :: NamedCapture
名前付き正規表現キャプチャバッファ
ネクタイ::メモ化
必要に応じてハッシュにデータを追加する
Tie :: RefHash
参照をハッシュキーとして使用する
Tie :: Scalarタイドスカラーの基本クラス定義
Tie :: StdHandle
タイドハンドルの基本クラス定義
Tie :: SubstrHash
固定テーブルサイズ、固定キー長のハッシュ
Time :: HiRes高解像度アラーム、スリープ、gettimeofday、インターバルタイマー
Time :: Local現地時間とGMT時間から時間を効率的に計算します
Time :: Pieceオブジェクト指向の時間オブジェクト
時間::秒
秒を他の日付値に変換するシンプルなAPI
時間:: gmtime
Perlの組み込みへの名前によるインターフェース gmtime() function
時間::現地時間
Perlの組み込みへの名前によるインターフェース 現地時間() function
Time :: tm Time :: gmtimeおよびTime :: localtimeによって使用される内部オブジェクト
すべてのクラスのUNIVERSAL基本クラス(祝福された参照)
Unicode :: Collate
Unicode照合アルゴリズム
Unicode :: Collate :: CJK :: Big5
CJK統合漢字の重み付け
Unicode :: Collate :: CJK :: GB2312
CJK統合漢字の重み付け
Unicode :: Collate :: CJK :: JISX0208
Unicode :: CollateのJIS漢字の重み付け
Unicode :: Collate :: CJK :: Korean
CJK統合漢字の重み付け
Unicode :: Collate :: CJK :: Pinyin
CJK統合漢字の重み付け
Unicode :: Collate :: CJK :: Stroke
CJK統合漢字の重み付け
Unicode :: Collate :: CJK :: Zhuyin
CJK統合漢字の重み付け
Unicode :: Collate :: Locale
Unicode :: Collateを介したDUCETの言語調整
Unicode :: Normalize
Unicode 正規化形式
Unicode :: UCD
Unicode文字データベース
User :: grentPerlの組み込みgetgr *()関数への名前によるインターフェース
User :: pwentPerlの組み込みgetpw *()関数への名前によるインターフェース
DCLシンボルを操作するためのVMS :: DCLsymPerl拡張機能
VMS :: Filespec
VMSとUnixのファイル仕様構文を変換する
VMS拡張機能を介したVMS :: Stdio標準I / O機能
一部のWin32API関数へのWin32インターフェイス
Win32API ::ファイル
Win32システムAPIへの低レベルのアクセスはファイル/ディレクトリを呼び出します。
Win32CORE Win32CORE関数スタブ
XS :: APItest perl CAPIをテストします
perlで配布されたXSタイプマップをテストするためのXS :: Typemapモジュール
XSLoaderはCライブラリをPerlコードに動的にロードします
autodie :: Scope :: Guard
スコープの最後で潜水艦を呼び出すためのラッパークラス
autodie :: Scope :: GuardStack
%^ Hを介してスコープを管理するためのフックスタック
autodie :: ScopeUtil
%^ Hスコープを管理するためのユーティリティ
バージョン::内部
バージョンオブジェクトのPerl拡張
調べるには を システムにインストールされているモジュール(ドキュメントのないモジュールや
標準リリース以外では、次のコマンドを使用するだけです(デフォルトのwin32の下で)
シェルでは、一重引用符の代わりに二重引用符を使用する必要があります)。
%perl -MFile :: Find = find -MFile :: Spec :: Functions -Tlwe \
'find {wanted => sub {print canonpath $ _ if / \。pm \ z /}、
no_chdir => 1}、@ INC '
(-Tは、「。」が@INCにリストされないようにするためにここにあります。)それらはすべて独自のものである必要があります
インストールされ、システムからアクセスできるドキュメント man(1)コマンド。 お持ちでない場合
a find プログラムでは、Perlを使用できます find2perl 代わりに、Perlコードを生成するプログラム
出力として、perlを実行できます。 あなたが持っている場合 man プログラムが見つかりません
モジュールでは、マンパスを修正する必要があります。 詳細については、perlを参照してください。 システムがない場合
man コマンド、あなたは試してみるかもしれません perldoc プログラム。
コマンド「perldocperllocal」はあなたに(おそらく不完全な)リストを与えることにも注意してください
システムにさらにインストールされているモジュール。 (perllocal.podファイルは
標準のMakeMakerインストールプロセスによって更新されます。)
拡張 モジュール
拡張モジュールはC(またはPerlとCの組み合わせ)で書かれています。 それらは通常動的です
必要に応じてPerlにロードされますが、静的にリンクされる場合もあります。
サポートされている拡張モジュールには、Socket、Fcntl、およびPOSIXが含まれます。
多くの人気のあるC拡張モジュールは、次の理由で(少なくとも完全ではなく)バンドルされていません。
それらのサイズ、変動性、または単に適切なテストと構成のための時間の不足
Perlがベータテストされた多数のプラットフォームにわたって。 あなたはすることが奨励されています
CPAN(以下で説明)で、またはAltaVistaやAltaVistaなどのWeb検索エンジンを使用してそれらを探します。
グーグル。
CPAN
CPANはComprehensivePerl ArchiveNetworkの略です。 それは世界的に複製された
ドキュメント、スタイルガイド、トリックとトラップ、代替ポートを含むPerl資料
非Unixシステムおよびこれらの時折のバイナリ配布に。 の検索エンジン
CPANはで見つけることができます http://www.cpan.org/
最も重要なことは、CPANには約XNUMXのバンドルされていないモジュールが含まれており、そのうちのいくつかは
ビルドするCコンパイラ。 モジュールの主なカテゴリは次のとおりです。
・言語拡張とドキュメントツール
・開発サポート
・オペレーティングシステムのインターフェイス
・ネットワーク、デバイス制御(モデム)およびプロセス間通信
・データ型とデータ型ユーティリティ
・データベースインターフェイス
・ユーザーインターフェイス
・他のプログラミング言語へのインターフェース/エミュレーション
・ファイル名、ファイルシステム、およびファイルロック(ファイルハンドルも参照)
・文字列処理、言語テキスト処理、解析、および検索
・オプション、引数、パラメーター、および構成ファイルの処理
・国際化とロケール
・認証、セキュリティ、および暗号化
・ワールドワイドウェブ、HTML、HTTP、CGI、MIME
・サーバーおよびデーモンユーティリティ
・アーカイブと圧縮
・画像、Pixmapおよびビットマップの操作、描画、およびグラフ化
・メールとUsenetニュース
・制御フローユーティリティ(コールバックや例外など)
・ファイルハンドルと入出力ストリームユーティリティ
・その他のモジュール
登録されているCPANサイトのリストは次のとおりです。 並べ替え順序は次のとおりです。
フィールドのアルファベット順:
大陸
|
|->国
|
|-> [州/県]
|
|-> ftp
|
|-> [http]
したがって、北米のサーバーはたまたまヨーロッパと南部の間にリストされています
アメリカのサイト。
登録されたCPANサイト
アフリカ大陸
南アフリカ共和国
http://cpan.mirror.ac.za/
ftp://cpan.mirror.ac.za/
http://mirror.is.co.za/pub/cpan/
ftp://ftp.is.co.za/pub/cpan/
ftp://ftp.saix.net/pub/CPAN/
アジア大陸
中国
http://cpan.wenzk.com/
香港
http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
http://mirrors.geoexpat.com/cpan/
インド
http://perlmirror.indialinks.com/
インドネシア
http://cpan.biz.net.id/
http://komo.vlsm.org/CPAN/
ftp://komo.vlsm.org/CPAN/
http://cpan.cermin.lipi.go.id/
ftp://cermin.lipi.go.id/pub/CPAN/
http://cpan.pesat.net.id/
日本
ftp://ftp.u-aizu.ac.jp/pub/CPAN
ftp://ftp.kddilabs.jp/CPAN/
http://ftp.nara.wide.ad.jp/pub/CPAN/
ftp://ftp.nara.wide.ad.jp/pub/CPAN/
http://ftp.jaist.ac.jp/pub/CPAN/
ftp://ftp.jaist.ac.jp/pub/CPAN/
ftp://ftp.dti.ad.jp/pub/lang/CPAN/
ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
http://ftp.riken.jp/lang/CPAN/
ftp://ftp.riken.jp/lang/CPAN/
http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
大韓民国
http://ftp.kaist.ac.kr/pub/CPAN
ftp://ftp.kaist.ac.kr/pub/CPAN
http://cpan.mirror.cdnetworks.com/
ftp://cpan.mirror.cdnetworks.com/CPAN/
http://cpan.sarang.net/
ftp://cpan.sarang.net/CPAN/
ロシア
http://cpan.tomsk.ru/
ftp://cpan.tomsk.ru/
シンガポール
http://mirror.averse.net/pub/CPAN
ftp://mirror.averse.net/pub/CPAN
http://cpan.mirror.choon.net/
http://cpan.oss.eznetsols.org
ftp://ftp.oss.eznetsols.org/cpan
台湾
http://ftp.cse.yzu.edu.tw/pub/CPAN/
ftp://ftp.cse.yzu.edu.tw/pub/CPAN/
http://cpan.nctu.edu.tw/
ftp://cpan.nctu.edu.tw/
ftp://ftp.ncu.edu.tw/CPAN/
http://cpan.cdpa.nsysu.edu.tw/
ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
http://cpan.stu.edu.tw
ftp://ftp.stu.edu.tw/CPAN
http://ftp.stu.edu.tw/CPAN
ftp://ftp.stu.edu.tw/pub/CPAN
http://cpan.cs.pu.edu.tw/
ftp://cpan.cs.pu.edu.tw/pub/CPAN
タイ
http://mirrors.issp.co.th/cpan/
ftp://mirrors.issp.co.th/cpan/
http://mirror.yourconnect.com/CPAN/
ftp://mirror.yourconnect.com/CPAN/
トルコ
http://cpan.gazi.edu.tr/
セントラル America
コスタリカ
http://mirrors.ucr.ac.cr/CPAN/
ftp://mirrors.ucr.ac.cr/CPAN/
ヨーロッパ大陸
オーストリア
http://cpan.inode.at/
ftp://cpan.inode.at
http://gd.tuwien.ac.at/languages/perl/CPAN/
ftp://gd.tuwien.ac.at/pub/CPAN/
ベルギー
http://ftp.belnet.be/mirror/ftp.cpan.org/
ftp://ftp.belnet.be/mirror/ftp.cpan.org/
http://ftp.easynet.be/pub/CPAN/
http://cpan.weepee.org/
ボスニア・ヘルツェゴビナ
http://cpan.blic.net/
ブルガリア
http://cpan.cbox.biz/
ftp://cpan.cbox.biz/cpan/
http://cpan.digsys.bg/
ftp://ftp.digsys.bg/pub/CPAN
クロアチア
http://ftp.carnet.hr/pub/CPAN/
ftp://ftp.carnet.hr/pub/CPAN/
チェコ
ftp://ftp.fi.muni.cz/pub/CPAN/
http://archive.cpan.cz/
デンマーク
http://mirrors.dotsrc.org/cpan
ftp://mirrors.dotsrc.org/cpan/
http://www.cpan.dk/
http://mirror.uni-c.dk/pub/CPAN/
フィンランド
ftp://ftp.funet.fi/pub/langages/perl/CPAN/
http://mirror.eunet.fi/CPAN
フランス
http://cpan.enstimac.fr/
ftp://ftp.inria.fr/pub/CPAN/
http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
ftp://ftp.lip6.fr/pub/perl/CPAN/
http://mir2.ovh.net/ftp.cpan.org
ftp://mir1.ovh.net/ftp.cpan.org
ftp://ftp.oleane.net/pub/CPAN/
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
http://cpan.cict.fr/
ftp://cpan.cict.fr/pub/CPAN/
ドイツ
ftp://ftp.fu-berlin.de/unix/言語/perl/
http://mirrors.softliste.de/cpan/
ftp://ftp.rub.de/pub/CPAN/
http://www.planet-elektronik.de/CPAN/
http://ftp.hosteurope.de/pub/CPAN/
ftp://ftp.hosteurope.de/pub/CPAN/
http://www.mirrorspace.org/cpan/
http://mirror.netcologne.de/cpan/
ftp://mirror.netcologne.de/cpan/
ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
http://mirrors.zerg.biz/cpan/
http://ftp.gwdg.de/pub/languages/perl/CPAN/
ftp://ftp.gwdg.de/pub/langages/perl/CPAN/
http://dl.ambiweb.de/mirrors/ftp.cpan.org/
http://cpan.mirror.clusters.kg/
http://cpan.mirror.iphh.net/
ftp://cpan.mirror.iphh.net/pub/CPAN/
http://cpan.mirroring.de/
http://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
ftp://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
http://www.chemmedia.de/mirrors/CPAN/
http://ftp.cw.net/pub/CPAN/
ftp://ftp.cw.net/pub/CPAN/
http://cpan.cpantesters.org/
ftp://cpan.cpantesters.org/CPAN/
http://cpan.mirrored.de/
ftp://mirror.petamem.com/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/
ギリシャ
ftp://ftp.forthnet.gr/pub/langages/perl/CPAN
ftp://ftp.ntua.gr/pub/lang/perl/
http://cpan.cc.uoc.gr/
ftp://ftp.cc.uoc.gr/mirrors/CPAN/
ハンガリー
http://cpan.mirrors.enexis.hu/
ftp://cpan.mirrors.enexis.hu/mirrors/cpan/
http://cpan.hu/
アイスランド
http://ftp.rhnet.is/pub/CPAN/
ftp://ftp.rhnet.is/pub/CPAN/
アイルランド
http://ftp.esat.net/pub/languages/perl/CPAN/
ftp://ftp.esat.net/pub/langages/perl/CPAN/
http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
イタリア
http://bo.mirror.garr.it/mirrors/CPAN/
http://cpan.panu.it/
ftp://ftp.panu.it/pub/mirrors/perl/CPAN/
ラトビア
http://kvin.lv/pub/CPAN/
リトアニア
http://ftp.litnet.lt/pub/CPAN/
ftp://ftp.litnet.lt/pub/CPAN/
マルタ
http://cpan.waldonet.net.mt/
オランダ
ftp://ftp.quicknet.nl/pub/CPAN/
http://mirror.hostfuss.com/CPAN/
ftp://mirror.hostfuss.com/CPAN/
http://mirrors3.kernel.org/cpan/
ftp://mirrors3.kernel.org/pub/CPAN/
http://cpan.mirror.versatel.nl/
ftp://ftp.mirror.versatel.nl/cpan/
ftp://download.xs4all.nl/pub/mirror/CPAN/
http://mirror.leaseweb.com/CPAN/
ftp://mirror.leaseweb.com/CPAN/
ftp://ftp.cpan.nl/pub/CPAN/
http://archive.cs.uu.nl/mirror/CPAN/
ftp://ftp.cs.uu.nl/mirror/CPAN/
http://luxitude.net/cpan/
ノルウェー
ftp://ftp.uninett.no/pub/langages/perl/CPAN
ftp://ftp.uit.no/pub/langages/perl/cpan/
ポーランド
http://piotrkosoft.net/pub/mirrors/CPAN/
ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/
http://ftp.man.poznan.pl/pub/CPAN
ftp://ftp.man.poznan.pl/pub/CPAN
ftp://ftp.ps.pl/pub/CPAN/
ftp://sunsite.icm.edu.pl/pub/CPAN/
ftp://ftp.tpnet.pl/d4/CPAN/
ポルトガル
http://cpan.dei.uc.pt/
ftp://ftp.dei.uc.pt/pub/CPAN
ftp://ftp.ist.utl.pt/pub/CPAN/
http://cpan.perl.pt/
http://cpan.ip.pt/
ftp://cpan.ip.pt/pub/cpan/
http://mirrors.nfsi.pt/CPAN/
ftp://mirrors.nfsi.pt/pub/CPAN/
http://cpan.dcc.fc.up.pt/
ルーマニア
http://ftp.astral.ro/pub/CPAN/
ftp://ftp.astral.ro/pub/CPAN/
ftp://ftp.lug.ro/CPAN
http://mirrors.xservers.ro/CPAN/
http://mirrors.hostingromania.ro/ftp.cpan.org/
ftp://ftp.hostingromania.ro/mirrors/ftp.cpan.org/
ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
ロシア
ftp://ftp.aha.ru/CPAN/
http://cpan.rinet.ru/
ftp://cpan.rinet.ru/pub/mirror/CPAN/
ftp://ftp.SpringDaemons.com/pub/CPAN/
http://mirror.rol.ru/CPAN/
http://ftp.silvernet.ru/CPAN/
http://ftp.spbu.ru/CPAN/
ftp://ftp.spbu.ru/CPAN/
スロバキア
http://cpan.fyxm.net/
スロベニア
http://www.klevze.si/cpan
スペイン
http://osl.ugr.es/CPAN/
ftp://ftp.rediris.es/mirror/CPAN/
http://ftp.gui.uva.es/sites/cpan.org/
ftp://ftp.gui.uva.es/sites/cpan.org/
Sweden
http://mirrors4.kernel.org/cpan/
ftp://mirrors4.kernel.org/pub/CPAN/
スイス
http://cpan.mirror.solnet.ch/
ftp://ftp.solnet.ch/mirror/CPAN/
ftp://ftp.adwired.ch/CPAN/
http://mirror.switch.ch/ftp/mirror/CPAN/
ftp://mirror.switch.ch/mirror/CPAN/
ウクライナ
http://cpan.makeperl.org/
ftp://cpan.makeperl.org/pub/CPAN
http://cpan.org.ua/
http://cpan.gafol.net/
ftp://ftp.gafol.net/pub/cpan/
イギリス
http://www.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
ftp://ftp.mirrorservice.org/sites/ftp.funet.fi/pub/langages/perl/CPAN/
http://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
ftp://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
http://www.mirror.8086.net/sites/CPAN/
ftp://ftp.mirror.8086.net/sites/CPAN/
http://cpan.mirror.anlx.net/
ftp://ftp.mirror.anlx.net/CPAN/
http://mirror.bytemark.co.uk/CPAN/
ftp://mirror.bytemark.co.uk/CPAN/
http://cpan.etla.org/
ftp://cpan.etla.org/pub/CPAN
ftp://ftp.demon.co.uk/pub/CPAN/
http://mirror.sov.uk.goscomb.net/CPAN/
ftp://mirror.sov.uk.goscomb.net/pub/CPAN/
http://ftp.plig.net/pub/CPAN/
ftp://ftp.plig.net/pub/CPAN/
http://ftp.ticklers.org/pub/CPAN/
ftp://ftp.ticklers.org/pub/CPAN/
http://cpan.mirrors.uk2.net/
ftp://mirrors.uk2.net/pub/CPAN/
http://mirror.ox.ac.uk/sites/www.cpan.org/
ftp://mirror.ox.ac.uk/sites/www.cpan.org/
ノース America
バハマ
http://www.securehost.com/mirror/CPAN/
近日発売予定
http://cpan.arcticnetwork.ca
ftp://mirror.arcticnetwork.ca/pub/CPAN
http://cpan.sunsite.ualberta.ca/
ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
http://theoryx5.uwinnipeg.ca/pub/CPAN/
ftp:// Theoryx5.uwinnipeg.ca/pub/CPAN/
http://arwen.cs.dal.ca/mirror/CPAN/
ftp://arwen.cs.dal.ca/pub/mirror/CPAN/
http://CPAN.mirror.rafal.ca/
ftp://CPAN.mirror.rafal.ca/pub/CPAN/
ftp://ftp.nrc.ca/pub/CPAN/
http://mirror.csclub.uwaterloo.ca/pub/CPAN/
ftp://mirror.csclub.uwaterloo.ca/pub/CPAN/
メキシコ
http://www.msg.com.mx/CPAN/
ftp://ftp.msg.com.mx/pub/CPAN/
米国
アラバマ州
http://mirror.hiwaay.net/CPAN/
ftp://mirror.hiwaay.net/CPAN/
アリゾナ州
http://cpan.ezarticleinformation.com/
カリフォルニア
http://cpan.knowledgematters.net/
http://cpan.binkerton.com/
http://cpan.develooper.com/
http://mirrors.gossamer-threads.com/CPAN
http://cpan.schatt.com/
http://mirrors.kernel.org/cpan/
ftp://mirrors.kernel.org/pub/CPAN
http://mirrors2.kernel.org/cpan/
ftp://mirrors2.kernel.org/pub/CPAN/
http://cpan.mirror.facebook.net/
http://mirrors1.kernel.org/cpan/
ftp://mirrors1.kernel.org/pub/CPAN/
http://cpan-sj.viaverio.com/
ftp://cpan-sj.viaverio.com/pub/CPAN/
http://www.perl.com/CPAN/
フロリダ州
ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
http://mirror.atlantic.net/pub/CPAN/
ftp://mirror.atlantic.net/pub/CPAN/
アイダホ州
http://mirror.its.uidaho.edu/pub/cpan/
ftp://mirror.its.uidaho.edu/cpan/
イリノイ州
http://cpan.mirrors.hoobly.com/
http://cpan.uchicago.edu/pub/CPAN/
ftp://cpan.uchicago.edu/pub/CPAN/
http://mirrors.servercentral.net/CPAN/
http://www.stathy.com/CPAN/
ftp://www.stathy.com/CPAN/
インディアナ
ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
http://cpan.netnitco.net/
ftp://cpan.netnitco.net/pub/mirrors/CPAN/
http://ftp.ndlug.nd.edu/pub/perl/
ftp://ftp.ndlug.nd.edu/pub/perl/
マサチューセッツ州
http://mirrors.ccs.neu.edu/CPAN/
ミシガン州
http://ftp.wayne.edu/cpan/
ftp://ftp.wayne.edu/cpan/
ミネソタ州
http://cpan.msi.umn.edu/
ニュージャージー
http://mirror.datapipe.net/CPAN/
ftp://mirror.datapipe.net/pub/CPAN/
ニューヨーク
http://mirrors.24-7-solutions.net/pub/CPAN/
ftp://mirrors.24-7-solutions.net/pub/CPAN/
http://mirror.cc.columbia.edu/pub/software/cpan/
ftp://mirror.cc.columbia.edu/pub/software/cpan/
http://cpan.belfry.net/
http://cpan.erlbaum.net/
ftp://cpan.erlbaum.net/CPAN/
http://cpan.hexten.net/
ftp://cpan.hexten.net/
ftp://mirror.nyi.net/CPAN/
http://mirror.rit.edu/CPAN/
ftp://mirror.rit.edu/CPAN/
ノースカロライナ州
http://www.ibiblio.org/pub/mirrors/CPAN
ftp://ftp.ncsu.edu/pub/mirror/CPAN/
オレゴン
http://ftp.osuosl.org/pub/CPAN/
ftp://ftp.osuosl.org/pub/CPAN/
ペンシルベニア州
http://ftp.epix.net/CPAN/
ftp://ftp.epix.net/pub/langages/perl/
http://cpan.pair.com/
ftp://cpan.pair.com/pub/CPAN/
サウスカロライナ州
http://cpan.mirror.clemson.edu/
テネシー州
http://mira.sunsite.utk.edu/CPAN/
テキサス州
http://mirror.uta.edu/CPAN
ユタ州
ftp://mirror.xmission.com/CPAN/
バージニア州
http://cpan-du.viaverio.com/
ftp://cpan-du.viaverio.com/pub/CPAN/
http://perl.secsup.org/
ftp://perl.secsup.org/pub/perl/
ftp://mirror.cogentco.com/pub/CPAN/
ワシントン
http://cpan.llarian.net/
ftp://cpan.llarian.net/pub/CPAN/
ftp://ftp-mirror.internap.com/pub/CPAN/
ウィスコンシン州
http://cpan.mirrors.tds.net
ftp://cpan.mirrors.tds.net/pub/CPAN
http://mirror.sit.wisc.edu/pub/CPAN/
ftp://mirror.sit.wisc.edu/pub/CPAN/
オセアニア
Australia
http://mirror.internode.on.net/pub/cpan/
ftp://mirror.internode.on.net/pub/cpan/
http://cpan.mirror.aussiehq.net.au/
http://mirror.as24220.net/cpan/
ftp://mirror.as24220.net/cpan/
ニュージーランド
ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
http://cpan.inspire.net.nz
ftp://cpan.inspire.net.nz/cpan
http://cpan.catalyst.net.nz/CPAN/
ftp://cpan.catalyst.net.nz/pub/CPAN/
サウス America
アルゼンチン
http://cpan.patan.com.ar/
http://cpan.localhost.net.ar
ftp://mirrors.localhost.net.ar/pub/mirrors/CPAN
ブラジル
ftp://cpan.pop-mg.com.br/pub/CPAN/
http://ftp.pucpr.br/CPAN
ftp://ftp.pucpr.br/CPAN
http://cpan.kinghost.net/
チリ
http://cpan.dcc.uchile.cl/
ftp://cpan.dcc.uchile.cl/pub/lang/cpan/
コロンビア
http://www.laqee.unal.edu.co/CPAN/
RSYNC ミラー
mirror.as24220.net :: cpan
cpan.inode.at :: CPAN
gd.tuwien.ac.at :: CPAN
ftp.belnet.be :: packages / cpan
rsync.linorg.usp.br :: CPAN
rsync.arcticnetwork.ca :: CPAN
CPAN.mirror.rafal.ca :: CPAN
mirror.csclub.uwaterloo.ca :: CPAN
理論x5.uwinnipeg.ca :: CPAN
www.laqee.unal.edu.co :: CPAN
mirror.uni-c.dk :: CPAN
rsync.nic.funet.fi :: CPAN
rsync://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
mir1.ovh.net :: CPAN
miroir-francais.fr :: cpan
ftp.crihan.fr :: CPAN
rsync://mirror.cict.fr/cpan/
rsync://mirror.netcologne.de/cpan/
ftp-stud.hs-esslingen.de :: CPAN /
ftp.gwdg.de::FTP/言語/perl/CPAN/
cpan.mirror.iphh.net :: CPAN
cpan.cpantesters.org :: cpan
cpan.hu :: CPAN
komo.vlsm.org :: CPAN
mirror.unej.ac.id :: cpan
ftp.esat.net :: / pub / languages / perl / CPAN
ftp.heanet.ie :: mirrors / ftp.perl.org / pub / CPAN
rsync.panu.it :: CPAN
cpan.fastbull.org :: CPAN
ftp.kddilabs.jp :: cpan
ftp.nara.wide.ad.jp :: cpan /
rsync://ftp.jaist.ac.jp/pub/CPAN/
rsync://ftp.riken.jp/cpan/
mirror.linuxiso.kz :: CPAN
rsync://mirrors3.kernel.org/mirrors/CPAN/
rsync://rsync.osmirror.nl/cpan/
mirror.leaseweb.com :: CPAN
cpan.nautile.nc :: CPAN
mirror.icis.pcz.pl :: CPAN
piotrkosoft.net :: mirrors / CPAN
rsync://cpan.perl.pt/
ftp.kaist.ac.kr :: cpan
cpan.sarang.net :: CPAN
mirror.averse.net :: cpan
rsync.oss.eznetsols.org
mirror.ac.za :: cpan
ftp.is.co.za::IS-Mirror/ftp.cpan.org/
rsync://ftp.gui.uva.es/cpan/
rsync://mirrors4.kernel.org/mirrors/CPAN/
ftp.solnet.ch :: CPAN
ftp.ulak.net.tr :: CPAN
gafol.net :: cpan
rsync.mirrorservice.org :: ftp.funet.fi/pub/
rsync://rsync.mirror.8086.net/CPAN/
rsync.mirror.anlx.net :: CPAN
mirror.bytemark.co.uk :: CPAN
ftp.plig.net :: CPAN
rsync://ftp.ticklers.org:CPAN /
mirrors.ibiblio.org :: CPAN
cpan-du.viaverio.com :: CPAN
mirror.hiwaay.net :: CPAN
rsync://mira.sunsite.utk.edu/CPAN/
cpan.mirrors.tds.net :: CPAN
mirror.its.uidaho.edu :: cpan
rsync://mirror.cc.columbia.edu :: cpan /
ftp.fxcorporate.com :: CPAN
rsync.atlantic.net :: CPAN
mirrors.kernel.org :: mirrors / CPAN
rsync://mirrors2.kernel.org/mirrors/CPAN/
cpan.pair.com :: CPAN
rsync://mirror.rit.edu/CPAN/
rsync://mirror.facebook.net/cpan/
rsync://mirrors1.kernel.org/mirrors/CPAN/
cpan-sj.viaverio.com :: CPAN
CPANサイトの最新リストについては、を参照してください。 http://www.cpan.org/SITES or
ftp://www.cpan.org/SITES .
モジュール: 創造、 使用する、 と 乱用
(次のセクションは、TimBunceのモジュールファイルから直接借用しています。
最寄りのCPANサイト。)
Perlはパッケージを使用してクラスを実装しますが、パッケージの存在は
クラスの存在。 パッケージは単なる名前空間です。 クラスは、を提供するパッケージです。
メソッドとして使用できるサブルーチン。 メソッドは、次のように期待する単なるサブルーチンです。
その最初の引数、パッケージの名前(「静的」メソッドの場合)、またはへの参照
何か(「仮想」メソッドの場合)。
モジュールは、(慣例により)同じ名前のクラス(.pmを除く)を提供するファイルです。
さらに、エクスポートされたシンボルをフェッチするために呼び出すことができる、そのクラスのインポートメソッド。 この
モジュールは動的CまたはC ++オブジェクトをロードすることによってそのメソッドのいくつかを実装するかもしれませんが、それは
モジュールのユーザーに対して完全に透過的である必要があります。 同様に、モジュールは設定する可能性があります
AUTOLOAD関数をアップして、必要に応じてサブルーチン定義を丸呑みしますが、これも
トランスペアレント。 のみ .pm ファイルが存在する必要があります。 perlsub、perlobj、およびを参照してください
AUTOLOADメカニズムの詳細については、AutoLoaderを参照してください。
ガイドライン for モジュール 創造
・同様のモジュールがすでに何らかの形で存在していますか?
その場合は、既存のモジュール全体を再利用するか、継承してみてください。
新しいクラスへの便利な機能。 これが実用的でない場合は、一緒に集まってみてください
モジュールの作成者は、既存の機能の拡張または拡張に取り組みます
モジュール。 完璧な例は、処理するためのperl4の多数のパッケージです。
コマンドラインオプション。
既存のモジュールセットを拡張するモジュールを作成している場合は、
パッケージの作成者と調整します。 同じ名前に従うと役に立ちます
原作者としてのスキームとモジュール相互作用スキーム。
・拡張と再利用が容易になるように新しいモジュールを設計してください。
「警告を使用する」ようにしてください。 (または「警告qw(...);を使用する」)。 「いいえ」を追加できることを忘れないでください
警告qw(...); "より少ない警告を必要とするコードの個々のブロックに。
祝福された参照を使用します。 クラスに祝福するためにblessのXNUMXつの引数形式を使用します
コンストラクターの最初のパラメーターとして指定された名前。例:
サブニュー{
私の$ class =シフト;
祝福を返す{}、$ class;
}
または、静的メソッドまたは仮想メソッドとして使用する場合は、これも使用できます。
サブニュー{
私の$ self =シフト;
私の$ class = ref($ self)|| $ self;
祝福を返す{}、$ class;
}
配列を参照として渡して、後でパラメーターを追加できるようにします(これも高速です)。
必要に応じて、関数をメソッドに変換します。 大きなメソッドを小さなメソッドに分割する
より柔軟なもの。 必要に応じて、他のモジュールからメソッドを継承します。
「ref $ ref eq'FOO '」でない限り、「die "Invalid"」のようなクラス名テストは避けてください。 一般的にあなたは
「eq'FOO '」の部分をまったく害なく削除できます。 オブジェクトに面倒を見てもらいましょう
彼ら自身! 一般に、ハードワイヤードのクラス名はできるだけ避けてください。
「@ISA = qw(...クラス...)」と「$ r-> func()」を使用する場合は、「$ r-> Class :: func()」を避けてください。
作業。
自動分割を使用して、使用されていない機能や新しく追加された機能がプログラムに負担をかけないようにします
それらを使用しません。 __END__の後に、次のいずれかを使用してモジュールにテスト関数を追加します。
AutoSplitまたは次のように言います。
eval join( ''、 )|| caller();でない限り、$ @で死ぬ。
モジュールは「空のサブクラス」テストに合格していますか? 「@SUBCLASS :: ISA =
qw(YOURCLASS); "アプリケーションはまったく同じようにSUBCLASSを使用できる必要があります
あなたのクラスとしての方法。 たとえば、次のように変更しても、アプリケーションは機能しますか? "$ obj
= YOURCLASS-> new(); "into:" $ obj = SUBCLASS-> new(); "?
パッケージに状態情報を保持することは避けてください。 それはそれを困難にします
あなたのものを使用するための他の複数のパッケージ。 状態情報をオブジェクトに保持します。
常に使用する -w.
「厳密に使用する」ようにしてください。 (または「厳密なqw(...);を使用する」)。 「厳密ではない」を追加できることを忘れないでください
qw(...); "厳密さをあまり必要としないコードの個々のブロックに。
常に使用する -w.
perlstyleのガイドラインに従ってください。
常に使用する -w.
・いくつかのシンプルなスタイルガイドライン
Perlに付属のperlstyleマニュアルには、多くの役立つポイントがあります。
コーディングスタイルは個人的な好みの問題です。 多くの人が自分のスタイルを進化させています
彼らが良いコードを書き、維持するのに何が役立つかを学ぶので、数年。 これがXNUMXつです
経験豊富な開発者によって広く使用されていると思われるさまざまな提案のセット:
アンダースコアを使用して単語を区切ります。 一般的に読みやすいです
$ var_names_like_thisより$ VarNamesLikeThis、特にの非ネイティブスピーカーの場合
英語。 これは、VAR_NAMES_LIKE_THISと一貫して機能する単純なルールでもあります。
パッケージ/モジュール名はこの規則の例外です。 Perlは非公式に小文字を予約します
integerやstrictなどの「プラグマ」モジュールのモジュール名。 通常、他のモジュール
大文字で始まり、アンダースコアのない大文字と小文字を組み合わせて使用します(短くする必要があります)
およびポータブル)。
大文字と小文字を使用して、の範囲または性質を示すと役立つ場合があります。
変数。 例えば:
$ ALL_CAPS_HERE定数のみ(Perl変数との衝突に注意してください)
$ Some_Caps_Hereパッケージ全体のグローバル/静的
$ no_caps_here関数スコープmy()またはlocal()変数
関数名とメソッド名は、すべて小文字であるため、最も効果的に機能するようです。 例えば、
「$ obj-> as_string()」。
先頭の下線を使用して、変数または関数を使用してはならないことを示すことができます
それを定義したパッケージの外部で使用されます。
・エクスポートするものを選択します。
メソッド名をエクスポートしないでください!
正当な理由がない限り、デフォルトで他のものをエクスポートしないでください。
エクスポートは、モジュールユーザーの名前空間を汚染します。 エクスポートする必要がある場合は、使用してみてください
@EXPORTよりも@EXPORT_OKを使用し、短い名前や一般名を避けてリスクを軽減します
名前の衝突。
通常、エクスポートされていないものは、モジュールの外部から、
ModuleName :: item_name(または "$ blessed_ref-> method")構文。 慣例により、
名前の先頭にアンダースコアを付けて、名前が「内部」であり、「内部」ではないことを非公式に示します
公共の使用のため。
(実際には、次のように言うことでプライベート関数を取得できます: "my $ subref = sub {.. ..
}; &$ subref; "。しかし、メソッドとして直接呼び出す方法はありません。
メソッドには、シンボルテーブルに名前を付ける必要があります。)
原則として、モジュールがオブジェクト指向にしようとしている場合は、何もエクスポートしません。
関数のコレクションだけの場合は、@ EXPORT_OK以外は@EXPORTを使用してください
注意。
・モジュールの名前を選択します。
この名前は、できるだけわかりやすく、正確で、完全なものにする必要があります。 避ける
あいまいさのリスク。 常にXNUMXつ以上の単語全体を使用するようにしてください。 一般的に名前
モジュールがどのように実行するかではなく、モジュールが何を実行するかについて何が特別であるかを反映する必要があります。
ネストされたモジュール名を使用して、非公式にグループ化するか、モジュールを分類してください。 三
モジュールにネストされた名前がないのは非常に良い理由です。 モジュール名
大文字で始める必要があります。
57個のモジュールがすべてSortと呼ばれているからといって、だれにとっても簡単なことではありません(ただし、23個あると
Sort :: Quickと呼ばれる方がわずかに優れています:-)。 誰かがインストールしようとしていると想像してください
他の多くのモジュールと一緒にあなたのモジュール。 疑問がある場合は、
comp.lang.perl.misc。
関連するモジュール/クラスのスイートを開発している場合は、使用することをお勧めします
名前空間の衝突を回避するため、共通のプレフィックスを持つネストされたクラス。 例えば:
Xyz :: Control、Xyz :: View、Xyz :: Modelなど。このリストのモジュールを名前として使用します
ガイド。
セットに新しいモジュールを追加する場合は、元の作成者の命名基準に従ってください
モジュールとそれらのモジュールのメソッドへのインターフェース。
プライベートな内部またはプロジェクト固有の使用のためにモジュールを開発する場合、それは決してありません
一般に公開されたら、名前が衝突しないようにする必要があります
将来のパブリックモジュール。 これは、予約済みのLocal :: *を使用して行うことができます。
カテゴリ、またはFoo_Corp :: *のようなアンダースコアを含むカテゴリ名を使用します。
移植性を持たせるには、モジュール名の各コンポーネントを11文字に制限する必要があります。 もしも
MS-DOSで使用される可能性があり、最初の8つでそれぞれが一意であることを確認してください
文字。 ネストされたモジュールはこれを簡単にします。
・あなたはそれを正しく理解しましたか?
自分が正しい決断をしたことをどうやって知るのですか? インターフェースを選びましたか
後で問題を引き起こす設計? 最も適切な名前を選びましたか? 行う
質問がありますか?
確実に知り、多くの役立つ提案を得る最良の方法は、誰かに尋ねることです
知るか。 Comp.lang.perl.miscは、開発するほぼすべての人々によって読まれます
モジュールとそれは尋ねるのに最適な場所です。
あなたがする必要があるのは、モジュール、その目的とインターフェースの短い要約を投稿することです。
主な方法のそれぞれについて数行で十分でしょう。 (全体を投稿する場合
モジュールそれは忙しい人々によって無視されるかもしれません-一般的にあなたが読みたいまさにその人々
それ!)
モジュールの準備ができる時期がわからなくても、投稿について心配する必要はありません。そのように言ってください。
メッセージで。 あなたを助けるために他の人を招待する価値があるかもしれません、彼らはできるかもしれません
あなたのためにそれを完了してください!
・READMEおよびその他の追加ファイル。
ソフトウェア開発者は通常、ソフトウェアを完全に文書化することはよく知られています。
書きます。 ただし、世界があなたのソフトウェアを緊急に必要としていて、それがない場合
完全なドキュメントを作成するのに十分な時間は、少なくともREADMEファイルを提供してください
含む:
・モジュール/パッケージ/拡張機能などの説明。
・著作権表示-以下を参照してください。
・前提条件-他に必要なもの。
・ビルド方法-Makefile.PLなどへの変更の可能性。
・インストール方法。
・このリリースの最近の変更、特に非互換性
・将来行う予定の変更/機能強化。
READMEファイルが大きくなりすぎているように思われる場合は、いくつかを分割することをお勧めします。
セクションを個別のファイルに分割:INSTALL、Copying、ToDoなど。
・著作権表示の追加。
作品のライセンスをどのように選択するかは、個人的な決定です。 一般的なメカニズム
あなたの著作権を主張し、他の人がどのようにできるかを宣言することです
あなたの作品をコピー/使用/変更します。
たとえば、Perlには、GNUGPLとTheGNUGPLのXNUMX種類のライセンスが付属しています。
Artistic License(README、Copying、Artistic、またはperlgplと
perlartistic)。 Larryには、GNUGPLを使用するだけではない正当な理由があります。
Larry、Perl、およびPerlコミュニティへの敬意からの私の個人的な推奨事項
概して、次のように簡単に述べることです。
Copyright(c)1995あなたの名前。 全著作権所有。
このプログラムは自由ソフトウェアです。 あなたはそれを再配布および/またはすることができます
Perl自体と同じ条件で変更してください。
このステートメントは、少なくともREADMEファイルに含まれている必要があります。 あなたはまたしたいかもしれません
コピーファイルとソースファイルに含めます。 他のものを含めることを忘れないでください
著作権に加えて言葉。
・モジュールにバージョン/問題/リリース番号を付けます。
ExporterおよびMakeMakerモジュールと完全に互換性を持たせるには、保存する必要があります
$ VERSIONと呼ばれるmy以外のパッケージ変数内のモジュールのバージョン番号。 この
の後に少なくともXNUMX桁の正の浮動小数点数である必要があります
0.01進数(つまり、1.3.2分のXNUMX、たとえば "$ VERSION =" XNUMX "")。 「XNUMX」スタイルは使用しないでください
バージョン。 詳細については、エクスポーターを参照してください。
数値を取得するための関数またはメソッドを追加すると便利な場合があります。 使用
モジュールをリリースするときのアナウンスとアーカイブファイル名の番号
(ModuleName-1.02.tar.Z)。 詳細については、perldoc ExtUtils :: MakeMaker.pmを参照してください。
・モジュールをリリースして配布する方法。
モジュール(またはモジュールの可用性)のアナウンスを投稿することをお勧めします
モジュール自体(小さい場合)をcomp.lang.perl.announceUsenetニュースグループに送信します。 この
少なくとも非常に広いXNUMX回限りの配布を保証します。
可能であれば、モジュールをCPANに登録してください。 その詳細を含める必要があります
アナウンス内の場所。
ftpアーカイブに関する注意事項:次のような長い説明的なファイル名を使用してください
バージョン番号が含まれます。 ほとんどの受信ディレクトリは
読み取り可能/一覧表示可能。つまり、アップロード後にファイルを表示することはできません。
その後、できるだけ早く電子メール通知メッセージを送信することを忘れないでください
そうしないと、ファイルが自動的に削除される可能性があります。 ファイルが
発表する前に、ファイルが処理されていること、および/またはファイルが処理されていることを確認すること
場所。
PerlモジュールのFTPアーカイブ:
次の手順とリンクに従ってください。
http://www.cpan.org/modules/00modlist.long.html
http://www.cpan.org/modules/04pause.html
または、次のいずれかのサイトにアップロードします。
https://pause.kbx.de/pause/
http://pause.perl.org/
通知します[メール保護]>.
WWWインターフェースを使用することにより、アップロードサーバーにモジュールをミラーリングするように依頼できます。
ftpまたはWWWサイトからCPANの独自のディレクトリに!
モジュールリストの更新されたエントリを私に送信することを忘れないでください!
・リリースされたモジュールを変更するときは注意してください。
以前にリリースされたバージョンとの互換性を維持するよう常に努めてください。 それ以外の場合は試してください
人々がそれに依存している場合、古い動作に戻るメカニズムを追加します。 書類
互換性のない変更。
ガイドライン for 加工 パール 4 図書室へようこそ スクリプト に モジュール
・何かを変換する必要はありません。
壊れていない場合は、修正しないでください。 Perl4ライブラリスクリプトは引き続き機能するはずです
問題はありません。 いくつかの小さな変更を加える必要があるかもしれません(配列以外の@をエスケープするなど)
二重引用符で囲まれた文字列)が、.plファイルをモジュールに変換する必要はありません。
それだけ。
・影響を考慮してください。
スクリプトを使用するすべてのPerlアプリケーションを(わずかに)変更する必要があります
スクリプトがモジュールに変換された場合。 あなたが作るつもりでない限り、それは価値がありますか
同時に他の変更?
・機会を最大限に活用します。
スクリプトをモジュールに変換する場合は、この機会を利用して次のことができます。
インターフェイスを再設計します。 上記のモジュール作成のガイドラインには、
あなたが考慮すべき問題。
・pl2pmユーティリティを使用して開始できます。
このユーティリティは、*。plファイル(パラメータとして指定)を読み取り、対応する* .pmを書き込みます。
ファイル。 pl2pmユーティリティは次のことを行います。
・標準のモジュールプロローグ行を追加します
・パッケージ指定子を 'から::に変換します
・die(...)をcroak(...)に変換します
・他のいくつかのマイナーな変更
機械的なプロセスであるpl2pmは防弾ではありません。 変換されたコードが必要になります
注意深いチェック、特にパッケージステートメント。 元の.plを削除しないでください
新しい.pmが機能するまでファイルします。
ガイドライン for 再利用 申し込み Code
・完全なアプリケーションがPerlモジュールライブラリに属することはめったにありません。
・多くのアプリケーションには、再利用可能なPerlコードが含まれています。
世界を救うのを手伝ってください! 再利用しやすい形式でコードを共有します。
・再利用可能なコードをXNUMXつ以上の個別のモジュールファイルに分割します。
・インターフェイスを再検討して再設計する機会を利用してください。
・場合によっては、「アプリケーション」を小さくすることができます
再利用可能なモジュールの上に構築されたコードのフラグメント。 これらの場合、アプリケーション
次のように呼び出すことができます:
%perl -e'use Module :: Name; メソッド(@ARGV) '..。
or
%perl -mModule :: Name ...(perl5.002以降)
注意
Perlは、モジュールのプライベート部分とパブリック部分を強制しません。
C ++、Ada、Modula-17などの他の言語で。 Perlには夢中になることはありません
強制されたプライバシー。 あなたがそのリビングルームから離れていたほうがいいでしょう
ショットガンがあるからではなく、招待されませんでした。
モジュールとそのユーザーには契約があり、その一部はコモンローであり、一部は
「書かれた」。 コモンロー契約の一部は、モジュールが名前空間を汚染しないことです
それは求められなかった。 モジュールの書面による契約(別名ドキュメント)により、
その他の規定。 しかし、「RedefineTheWorldを使用する」と、自分が
世界を再定義し、結果を喜んで受け入れます。
onworks.netサービスを使用してオンラインでperlmodlibを使用する