在Perl脚本中使用ARGV和CGI
发布时间:2020-12-15 21:50:52 所属栏目:大数据 来源:网络整理
导读:我正在编写一个可以从命令行和网页运行的Perl脚本.该脚本接收一些参数,如果它从命令行启动,则通过$ARGV读取这些参数,如果从网页启动,则从CGI读取这些参数.我怎样才能做到这一点? my $username;my $cgi = new CGI;#IF CGI$username = $cgi-param('username')
我正在编写一个可以从命令行和网页运行的Perl脚本.该脚本接收一些参数,如果它从命令行启动,则通过$ARGV读取这些参数,如果从网页启动,则从CGI读取这些参数.我怎样才能做到这一点?
my $username; my $cgi = new CGI; #IF CGI $username = $cgi->param('username'); #IF COMMAND LINE $username = $ARGV[0]; 解决方法
最干净的方法可能是将代码的内容放在一个模块中,并为每个接口(CGI和命令行)提供一个脚本.
您可以测试是否存在CGI环境变量($ENV {SERVER_PROTOCOL})以查看是否正在使用CGI,但如果脚本用作另一个CGI脚本的命令行脚本,则会失败. 如果您想通过@ARGV传递的只是表单输入,请记住,如果脚本未被调用为CGI脚本,CGI(模块)将检查@ARGV的输入.请参阅documentation中标题为“调试”的部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |