对于工作中的项目,我需要从另一个调用一个 Perl/CGI 脚本。我用于测试的那个脚本的一个极其简化的版本在这里(真正的脚本不使用递归,但这样我就不必复制和粘贴很多代码):
#!/usr/local/bin/perl
use CGI qw(:standard);
use POSIX 'setsid';
$|=1;
print "Content-type: text/html\n\n";
@names = param;
print "@names";
if(defined(param('submit'))){
#delete_all();
system('perl testParams.pl abc=123');
exit(0);
} else{
print "NO SUBMIT PARAM";
}
这个脚本应该做什么:
- 打印所有参数的名称。
- 如果定义了提交参数,请再次运行脚本,但使用名为“abc”的参数。
- 如果未定义“提交”参数,则打印“NO SUBMIT PARAM”。
脚本的实际作用:
- 打印所有参数的名称。
- 如果定义了“提交”参数,请使用与运行原始脚本相同的参数再次运行脚本。
- 如果未定义“提交”参数,则打印“NO SUBMIT PARAM”。
知道是什么导致 Perl/CGI 在运行脚本时忽略新参数而是发送旧参数吗?