dgB*_*gBP 6 perl exit subroutine
我在Perl中运行一个程序,它在一个点上评估从子程序中调用的if语句中的数据,例如
sub check_good {
if (!good) {
# exit this subroutine
# restart program
}
else {
# keep going
}
} # end sub
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是退出并重新启动.我知道我可以exit 0;直接退出,但显然这是不正确的,如果我想回到开头.我尝试调用基本上启动程序的子程序,但是当它运行时它将再次回到这一点.我想把它放在while循环中,但这意味着将整个文件放在循环中,这将是非常不切实际的.
我实际上并不知道这是否可行,所以任何输入都会很棒.
如果你没有改变@ARGV,或者你保留了它的副本,你可能会做类似的事情exec($^X, $0, @ARGV).
$^X和$0(或$EXECUTABLE_NAME和$PROGRAM_NAME,见布赖恩的评论如下)是目前Perl解释器和电流perl脚本,分别.