微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Perl脚本中使用ARGV和CGI

我正在编写一个可以从命令行和网页运行的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标题为“调试”的部分.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐