perl – 如何确定脚本是从命令行调用还是作为cgi脚本调用?

前端之家收集整理的这篇文章主要介绍了perl – 如何确定脚本是从命令行调用还是作为cgi脚本调用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个我写的脚本,可以在命令行上使用,也可以作为CGI脚本使用,需要确定脚本的调用方式,这样我就可以为web请求输出内容类型的头文件(也许还有一些反缓存标题也是).我的第一个想法是检查http环境变量是否存在:
my $js = build_javascript();

if ( exists $ENV{HTTP_HOST} ) {
   print "Content-type: text/javascript\n\n";
}
print $js;

有没有更好的办法?

解决方法

根据 RFC3875中的CGI规范(第4.1.4节),GATEWAY_INTERFACE环境变量将是检查您是否在CGI上下文中运行的权威事项:

4.1.4. GATEWAY_INTERFACE

The GATEWAY_INTERFACE variable MUST be set to the dialect of CGI being used by the server to communicate with the script.

猜你在找的Perl相关文章