對於工作中的項目,我需要從另一個項目調用一個Perl/CGI腳本。該腳本,我使用的測試的一個非常簡化的版本是在這裏(真正的腳本沒有使用遞歸,但這種方式我沒有複製粘貼&了大量的代碼):將參數從另一個Perl/CGI腳本傳遞給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」的參數。
- 如果未定義「提交」參數,請打印「無提交參數」。
什麼腳本實際上做:
- 所有參數的打印名稱。
- 如果定義了「submit」參數,請使用與運行原始腳本相同的參數再次運行該腳本。
- 如果未定義「提交」參數,請打印「無提交參數」。
任何想法是什麼導致Perl/CGI忽略新參數,而是在運行腳本時發送舊參數?