重新启动perl cgi脚本

时间:2015-10-16 10:54:29

标签: perl cgi

搜索后,我发现这个命令exec($^X, $0, @ARGV);重启了一个perl脚本。但是,当我这样做时,我的脚本正常运行,但在预期输出前面Content-Type: text/html。我想知道这是否是重启perl cgi脚本的正确方法。

编辑:

elsif (defined param("again")){
    exec($^X, $0, @ARGV);
    exit;
}

当脚本重新启动时,它应该打印My guess is: 50,但它会打印Content-Type: text/html My guess is: 50

1 个答案:

答案 0 :(得分:2)

第一次输出时,它被用作标题(而不是显示),第二次作为内容的一部分。

向@ARGV添加一个参数,以便您可以检查脚本是否已重新启动,因此不应再发送标题。

编辑:我刚刚看到你对这个脚本有什么用途。在在线游戏环境中,当然最好是刷新,重定向或仅提供链接或表单提交以再次运行脚本。

像这样的解决方案,您在同一http连接中重新启动脚本(或运行另一个脚本),而不是对主力或监视脚本有意义,例如,以减少内存占用。但它是一种非常罕见的动物。