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

在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中标题为“调试”的部分.

(编辑:李大同)

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

    推荐文章
      热点阅读