我有权访问一个Perl模块,从我的网页代码中调用传递给它以通常的URI编码形式查询参数(即myperl.pl?var1=val2&var2-val2&var3=val3
)从AJAX或卷曲。如何从命令行测试我的Web界面Perl程序?
如何从命令行测试这个相同的模块?
我有权访问一个Perl模块,从我的网页代码中调用传递给它以通常的URI编码形式查询参数(即myperl.pl?var1=val2&var2-val2&var3=val3
)从AJAX或卷曲。如何从命令行测试我的Web界面Perl程序?
如何从命令行测试这个相同的模块?
如果它是一个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
(请注意,您可能需要设置其他环境变量,以及,也许是标准输入。)
只要你设定的程序为可执行属性下则:
./program_name.pl param1 param2 param3
应该工作。除非我误解了这个问题。
如果您正在使用CGI.pm那么我相信()函数的命令行参数返回的PARAMS。
@vars = $query->param
例如
myperl.pl "var1=value1&var2=value2&var3=value3"
PARAM()方法将返回是变量列表。
这工作谢谢! – 2013-03-07 18:47:27
@DougWolfgram:不客气! – ruakh 2013-03-07 18:52:22
这是可悲的不完整的CGI请求。您甚至没有指定REQUEST_METHOD,在访问QUERY_STRING之前应该检查一下。 – ikegami 2013-03-07 20:04:04