3

私は2つのモジュールを持っています:

./My/Module1
./My/Module2

Module1のサブルーチンを使用していModule2ます。だから私のスクリプトでは、次のように入力しました:

use My::Module1
use My::Module2

しかし、これは機能せず、perl はModule2byで使用されるサブルーチンModule1が存在しないと文句を言いました。だから私は次の行をに追加しましたModule1

use My::Module2

最後に、これは期待どおりに機能しました。

指定されたサブディレクトリ ツリーのすべてのモジュールを含め、依存関係を自動的に解決するソリューションがあるかどうか疑問に思っています。use別のモジュールに依存するモジュールにキーワードを入力したくありません。次のコマンドが試行されましたが、機能しませんでした (構文エラーまたは間違ったモジュールを使用したため)。

use My::;
use My::*;
use My;

また、モジュールを相互に使用し、そのサブルーチンを呼び出すことは、perl プログラミングの良い実践と見なされるかどうかを尋ねたいと思いますか?

PS:@INC現在のディレクトリが含まれているため、モジュールのロードが機能しています。

PPS: 使用モジュールExporter

4

1 に答える 1