我正在编写一个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