프로젝트의 경우 다른 하나의 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"라는 매개 변수를 사용하여 스크립트를 다시 실행하십시오.
- "제출"매개 변수가 정의되지 않은 경우 "NO SUBMIT PARAM"을 인쇄하십시오.
스크립트가 실제로 무엇을 : 모든 매개 변수의
- 인쇄 이름.
- "제출"매개 변수가 정의 된 경우 원래 스크립트가 실행 된 것과 동일한 매개 변수를 사용하여 스크립트를 다시 실행하십시오.
- "제출"매개 변수가 정의되지 않은 경우 "NO SUBMIT PARAM"을 인쇄하십시오.
Perl/CGI가 새로운 매개 변수를 무시하고 대신 스크립트를 실행할 때 이전 매개 변수를 보내는 원인이 무엇입니까?