ドキュメント (Exporter および perlmodlib) には次のように書かれています。
原則として、モジュールがオブジェクト指向になろうとしている場合は、何もエクスポートしません。
しかし、perlmodlib には次のようにも書かれています。
標準のバンドルされたモジュールはすべて、Exporter モジュールを使用するため、名前空間の汚染に関して明確に定義された方法で動作することが期待されます。
OO を行って何もエクスポートしない場合、Exporter は本当に必要なのでしょうか? そうでない場合、それは標準モジュールのどれもこの意味で厳密に OO ではないということですか、それともEXPORT_OK
、誰かがあなたのモジュールから継承したい場合にそれを行う必要があるため、いくつかのことを意味するのでしょうか? (それは本当ですか?)または、できるようにするためだけにエクスポーターが必要use MyModule; ... = new MyModule
ですか?