我可以访问我从Web代码调用的Perl模块,它以通常的URI编码形式(即myperl.pl?var1=val2&var2-val2&var3=val3
)从AJAX或curl传递查询参数。
如何从命令行测试同一个模块?
答案 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)
答案 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
应该有效。除非我误解了这个问题。