搜索后,我发现这个命令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
答案 0 :(得分:2)
第一次输出时,它被用作标题(而不是显示),第二次作为内容的一部分。
向@ARGV添加一个参数,以便您可以检查脚本是否已重新启动,因此不应再发送标题。
编辑:我刚刚看到你对这个脚本有什么用途。在在线游戏环境中,当然最好是刷新,重定向或仅提供链接或表单提交以再次运行脚本。像这样的解决方案,您在同一http连接中重新启动脚本(或运行另一个脚本),而不是对主力或监视脚本有意义,例如,以减少内存占用。但它是一种非常罕见的动物。