プロが教える店舗&オフィスのセキュリティ対策術

あるディレクトリの中に
a.pl b.pl c.pl d.pl e.pl
という5つのファイルが入っているとします.そのとき,一気にこの5つのファイルを実行するにはどうすればいいのでしょうか?
とても初歩的な質問かもしれませんがお願いします.実際は100個くらいファイルがあるのでひとつひとつ実行するのはとても面倒で...

A 回答 (3件)

>もしa_2.pl b_2.pl とかいうファイルもあったらプログラムも臨機応変に変えていかないといけませんよね?


この点を心配する必要はありませんが(ちゃんと動きますよ)、
スクリプトの実行は順番に、前のスクリプトが終了してから次が実行される
ということになりますよ?

お手軽にはこんなかんじでしょうか。
use strict;

my @files = grep {$_ !~ m/^$0$/} glob('*.pl');
#system qq{"perl $_ &"} for @files;
system qq{start "dummytile" "cmd /c perl $_"} for @files;

Unix環境だったらコメントアウトしている方を使ってください。

この回答への補足

このプログラムでちゃんと動きました.どうもありがとうございます.
前のスクリプトが終わってから次が動くっていうことでよかったです.

補足日時:2007/11/24 21:55
    • good
    • 0

while(<*.pl>){


unless ($_ =~ /^batch/){
system("perl $_");
}
}

# 以上を bacth.pl として a.pl b.pl ... のあるディレクトリに保存し実行。
# で、どうでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます.
もしa_2.pl b_2.pl とかいうファイルもあったらプログラムも臨機応変に変えていかないといけませんよね?

お礼日時:2007/11/23 12:20

一気に実行というのは並列に実行ということですか?


一つのスクリプトの終了を待たずに次々起動して行くのではなく。

この回答への補足

並列に実行したいと思っています.

補足日時:2007/11/23 12:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!