2013-03-07 77 views

回答

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 

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

+0

这工作谢谢! – 2013-03-07 18:47:27

+0

@DougWolfgram:不客气! – ruakh 2013-03-07 18:52:22

+0

这是可悲的不完整的CGI请求。您甚至没有指定REQUEST_METHOD,在访问QUERY_STRING之前应该检查一下。 – ikegami 2013-03-07 20:04:04

3

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

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

只要你设定的程序为可执行属性下则:

./program_name.pl param1 param2 param3 

应该工作。除非我误解了这个问题。

2

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

@vars = $query->param 

例如

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

PARAM()方法将返回是变量列表。