要求に応じてのみ、サブルーチンを読み込む。要求に応じてのみ、サブルーチンを読み込む。デフォルトのAUTOLOADサブルーチンを読み込む。AUTOLOADをインポートしないで、自分自身のものを定義する。使われるまで、サブルーチンの読み込みを延期します。自動的に読み込むブルーチンの定義を__END__トークン(perldataを見てください)の後に置く必要があります。AutoSplitモジュールを走らせると、手動で定義を、個々のauto/funcname.alファイル抜きだします。subroutine.AutoLoaderは、AUTOLOADサブルーチンを実装します。ファイル中のサブルーチンを見つけようとします。POSIX.pmなら、/usr/local/lib/perl5/POSIX.pmに見つかります。AutoLoaderは、perlのPOSIXのサブルーチンを/usr/local/lib/perl5/auto/POSIX/*.alに見つけます。.alファイルは、POSIXのサブルーチンと同じ名前です。パッケージ名はついていません。それを読んで評価します。このようにして、(たぶん、)必要とされるサブルーチンを定義します。それから、AUTOLOADは新たに定義されたサブルーチンへgotoします。(訳註:次回以降の)未来のサブルーチンの呼び出しは、AUTOLOADのメカニズムを無視します。"前宣言"する必要があります。pelsubを見てください。stubs"を作ります。これは、コード無しのプレースホルダです。AutoLoaderモジュールは前宣言の作成を自動化します。AutoSplitが分割した、すべてのサブルーチンの前宣言を置きます。それらの定義を読み込みます。requireされないということが重要です。明示的にそれをインポートしなければなりません。rest.いくつかのモジュールには、主な拡張として、自分自身のAUTOLOADサブルーチンをもっています。それから、残りのために、AutoLoaderのAUTOLOADにフォールバックする必要があります。lines:このようなモジュールはAutoLoaderのAUTOLOADサブルーチンをインポートすべきではありません。そのかわりに、そういうモジュールは、自分自身のAUTOLOADサブルーチンを定義すべきです。そのモジュールはAutoLoaderを、全く使わないべきです。myで宣言されたパッケージレキシカルの変数は、自動的に読み込まれたサブルーチンには見えません。これは、与えられたスコープが__END__マーカーで終るという事実によります。AutoLoaderのもとでは、うまく動きません。パッケージの名前空間で明示的に完全修飾したグローバル変数に変わるものとして、使われるでしょう。このプラグマで先に宣言された変数は、どんな、自動的に読み込まれるルーチンにも見えます。(ですが、不運なことに、パッケージの外側からは見ることが出来ません。simplyAutoLoaderを使わなくするには、単純に次のようにします。両方ともサブルーチンの読み込みを遅らせるものです。一時的に解析するので、スタートアップのスピードのディスアドバンテージに耐えなければなりません。SelfLoaderは、一つのファイルに複数のパッケージを取り扱えます。file.AutoLoaderは、それがリクエストされた時に、コードを読むだけです。多くのケースで、これは、速いです。使われるAutoSplitのようなメカニズムを必要とします。ExtUtils::MakeMakerは、AutoSplitを自動的に呼び出します。前のAutoLoaderは、ちょっと違ったインターフェースでした。新しいスタイルの呼び出しに変更するべきです。一般に、このことは、次のことを意味します。@ISAから、AutoLoaderを削除することです。ファイルとサブルーチンの一致のために、ルーチン自身がより短い名前になるかもしれません。このことは、ファイル名の衝突を引き起こすかも知れません。いった潜在的な衝突を警告します。(または、間違ったファイルを見つけるかも知れません)。Association。