我有一個充滿腳本文件的文件夾。當我運行它們時,會打開它們原生的程序,它會執行一些操作並生成一個CSV文件。我寫了一些代碼,我想運行每個腳本文件並生成一堆CSV文件,每個腳本一個。如何避免需要等待並關閉一些由Perl驅動的軟件?
會發生什麼情況如下:當我的Perl應用程序被執行時,軟件被啓動並且第一個腳本成功運行(一個CSV文件被創建)。但是,在這一步,Perl應用程序會等待我在繼續之前關閉該軟件。它爲每個腳本都做到這一點。我能做些什麼來避免這種情況發生?
use strict;
use warnings;
use Cwd;
my $dir = cwd();
opendir(DIR, $dir);
my @files= grep(/\.acs$/,readdir(DIR));
$dir=~s/\//\\/g;
chdir $dir;
foreach (@files)
{
print "$_\n";
system ("$_")
}
外部應用是否提示輸入?如果它正在做任何需要用戶交互的任何事情,那麼perl當然會一直掛起,直到給出輸入。 – 2011-02-03 00:01:16
好吧,這不像提示輸入。一旦完成運行,它需要關閉,因爲它只是打開數據表而掛起,而perl沒有看到。 – nebulus 2011-02-03 00:05:48