我正在編寫一個perl代碼以將代碼從repro上傳到目錄(在我的情況下爲jsvn update .
shell命令)。我希望在簽入進行時,結果應該顯示在標準輸出中('jsvn update。')顯示出來,但如果出現任何錯誤和錯誤,我必須繼續觀察顯示器,我必須給出清理並再次啓動該過程。)我爲此編寫了一個程序,但它不會將輸出顯示在屏幕上。光標保持閃爍,我知道該過程正在進行背景,但我希望結果也顯示到標準輸出。請幫幫我。在執行命令時將輸出發送到perl中的STDOUT
#!usr/bin/perl
use Capture::Tiny qw/tee/;
sub code(){
`jsvn cleanup .`;
($stdout, $stderr, @result) = tee { system("jsvn update .") };
print "@result\n";
}
code();
if($stderr){
code();
}else{
print "The checkout has been done successfully \n";
exit;
}
使用'IPC ::系統::簡單QW [捕獲]'來代替:'我的@結果= capture('jsvn update。');' –
但是這個jsvn有很多退出值,我要弄清楚,大概在50左右。所以我希望在出現任何錯誤的情況下,整個過程開始again.IPC :: System :: Simple模塊需要預先定義錯誤代碼來處理這些錯誤或程序死亡。 – May