我可以访问从我的 Web 代码调用的 Perl 模块,该模块以通常的 URI 编码形式(即myperl.pl?var1=val2&var2-val2&var3=val3
)从 AJAX 或 curl 传递查询参数。
如何从命令行测试相同的模块?
我可以访问从我的 Web 代码调用的 Perl 模块,该模块以通常的 URI 编码形式(即myperl.pl?var1=val2&var2-val2&var3=val3
)从 AJAX 或 curl 传递查询参数。
如何从命令行测试相同的模块?
如果它是一个 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
(请注意,您可能还需要设置其他环境变量,可能还需要设置标准输入。)
如果您使用的是 CGI.pm,那么我相信 params() 函数会从命令行返回参数。
@vars = $query->param
例如
myperl.pl "var1=value1&var2=value2&var3=value3"
param() 方法将以列表形式返回变量。
只要您在属性下将程序设置为可执行文件,那么:
./program_name.pl param1 param2 param3
应该管用。除非我误读了这个问题。