如何从命令行测试我的Web界面Perl程序?

时间:2013-03-07 18:10:26

标签: perl debugging shell command-line

我可以访问我从Web代码调用的Perl模块,它以通常的URI编码形式(即myperl.pl?var1=val2&var2-val2&var3=val3)从AJAX或curl传递查询参数。

如何从命令行测试同一个模块?

4 个答案:

答案 0 :(得分:6)

如果它是CGI脚本,那么它可能通过检查QUERY_STRING环境变量来找到这些变量;所以,你可以尝试从shell设置该变量。例如,如果你正在使用Bash,你可以写:

QUERY_STRING='var1=val2&var2=val2&var3=val3' perl myperl.pl

或者如果您愿意:

export QUERY_STRING='var1=val2&var2=val2&var3=val3'
perl myperl.pl

(请注意,您可能还需要设置其他环境变量,也许还需要标准输入。)

答案 1 :(得分:3)

是否使用CGI模块?如果是这样,请参阅文档的DEBUGGING部分。

myperl.pl var1=val2&var2-val2&var3=val3

答案 2 :(得分:2)

如果您正在使用CGI.pm,那么我相信params()函数会从命令行返回参数。

@vars = $query->param

例如

myperl.pl "var1=value1&var2=value2&var3=value3"

param()方法将变量作为列表返回。

答案 3 :(得分:1)

只要您在属性下将程序设置为可执行文件,那么:

./program_name.pl param1 param2 param3 

应该有效。除非我误解了这个问题。