2013-10-05 8 views

答えて

13

ほとんどのモジュールでは、Exporterモジュールを使用して、呼び出し先の名前空間にある関数/変数/定数を公開しています。

use POSIX; 

これは、POSIXの@EXPORTからのすべてのシンボルを呼び出しモジュールの名前空間にインポートするだけです。

use POSIX(); 

これは呼び出し元の名前空間に任意のシンボルをインポートしません。しかしこれだけ呼び出すモジュールの名前空間にシンボルWNOHANGをインポートします

use POSIX(WNOHANG) 

など、あなたがPOSIX::strftime(...)のような関数を呼び出すことができることを意味しており、モジュールをロードしません。

@EXPORT@EXPORT_OKの配列に精通していない場合は、間違いなくExporterのドキュメントを実行する必要があります。 Exporterを使用することは、あるモジュールからモジュールの名前空間(呼び出し側の名前空間)にシンボルをエクスポートするPerlの標準的な方法です。 POSIXも同様です。

オブジェクト指向のインターフェイスで設計されたモジュールでは、一般的にシンボルをインポートする必要はありません。

関連する問題