Perl のモジュールについての質問です。


Perlのプログラムを組み、そのプログラムを置いている場所に「pm」というフォルダを作り、その中に自作モジュールをたくさんいれようと考えています。

そこで、プログラム本体のモジュールの宣言なのですが、自作モジュールが100個あった場合、

use pm::test1;
use pm::test2;

と100回書かなくてはいけないのでしょうか?

よろしくご解答をお願い致します。

回答の条件
  • URL必須
  • 1人20回まで
  • 登録:2007/06/19 12:47:30
  • 終了:2007/06/26 11:08:22

回答(3件)

id:ootatmt No.1

ootatmt回答回数1307ベストアンサー獲得回数652007/06/19 13:00:28

ポイント27pt

そのプログラムの中で使うモジュールだけを use すればいいですよ。

http://www.mnet.ne.jp/~tnomura/use.html


そういう意味ではないですか?

id:zachouR

説明が足らず、すいません。

確かに使用するモジュールだけをせんげんすればいいのですが、

もし、100個すべて使う場合、そのフォルダ内に存在するモジュールは全て利用する、とかいう便利な方法はないかな?

と思い、質問してみました。

2007/06/19 13:47:25
id:ootatmt No.2

ootatmt回答回数1307ベストアンサー獲得回数652007/06/19 15:46:07

ポイント27pt

では、pm.pm というモジュールを作り、その中ですべてのモジュールを呼び出すようにしておけばいいのではないですか。

package pm;

use pm::test1;

use pm::test2;

...

これで、use pm; しておけば、すべてのモジュールを使うことが出来ると思います。

もちろん pm.pm という名前は別の名前でもかまいません。

http://www.rfs.jp/sb/perl/04/01.html

id:zachouR

なるほど!

参考になりました、ありがとうございます。

2007/06/19 15:55:27
id:b-wind No.3

b-wind回答回数3344ベストアンサー獲得回数4402007/06/19 23:18:50

ポイント26pt

基本的には100回書くのが正攻法で、呼び出し側が複数の場合は

2番の回答のように1段置く事で省略する事もある。


ただ、お勧めはしないが無理やりやる方法が無いわけでもない。

while(<pm/*.pm>) {
  requie $_;
}

重ねて言うが、厳密には意味も違うしお勧めしない。

単なるネタ。

勉強会(仮) - iwasekiの日記 - Perlでunixコマンド「ls -l」と同じ結果を得る

id:zachouR

ありがとうございます、

これは裏技っぽいですね。

ちょっと趣味半分でやってみます。

2007/06/20 11:59:28

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません