加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Perl中有没有办法重启当前正在运行的程序?

发布时间:2020-12-15 22:06:13 所属栏目:大数据 来源:网络整理
导读:我在Perl中运行一个程序,它在一个点上评估从子程序中调用的if语句中的数据,例如 sub check_good { if (!good) { # exit this subroutine # restart program } else { # keep going }} # end sub 我遇到的问题是退出并重新启动.我知道我可以使用0号出口;直接
我在Perl中运行一个程序,它在一个点上评估从子程序中调用的if语句中的数据,例如
sub check_good {
    if (!good) {
         # exit this subroutine
         # restart program
    } 
    else {
         # keep going
    }
} # end sub

我遇到的问题是退出并重新启动.我知道我可以使用0号出口;直接退出,但显然这是不正确的,如果我想回到开头.我尝试调用基本上启动程序的子程序,但是当它运行时它将再次回到这一点.
我想把它放在while循环中,但这意味着将整个文件放在循环中,这将是非常不切实际的.

我实际上并不知道这是否可行,所以任何输入都会很棒.

解决方法

如果您没有更改@ARGV,或者保留了它的副本,则可能会执行类似 exec($^X,$0,@ARGV)的操作.

$^X and $0(或$EXECUTABLE_NAME和$PROGRAM_NAME,请参阅下面的Brian的评论)分别是当前的perl解释器和当前的perl脚本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读