URL에서 일부 변수를로드하고 내 CGI 스크립트가 초기화되었는지 여부를 확인하려고합니다. 필자는 초기화되지 않은 값을 Perl의 목록에 넣을 수 없다는 것을 빨리 알았습니다.목록에서 초기화되지 않은 값 사용
내 접근 방식은 단순히 목록을 반복하고 스위치 변수 $sucessDOM
(모든 데이터가 초기화 되었으면 1)을 사용합니다.
나는이 함께했다 :
### Read data from HTML
my $mailinglist = param('mailinglist');
my $firstname = param('firstname');
my $lastname = param('lastname');
my $mail = param('mail');
my $sucessDOM = 0;
my @DOM = { $mailinglist, $firstname, $lastname, $mail };
### Data validation
for my $data (@DOM) {
if ($data eq undef) {
$sucessDOM = $sucessDOM + 1;
}
if ($sucessDOM = @DOM) {
print "@DOM\n";
$sucessDOM = 1;
}
else {
$sucessDOM = 0;
}
}
나는 또한 그들은 모두 초기화되지 않은 경우에만이 값에 대한 오류가 배열에있다 왜 이해할 수 없다
[Fri Dec 22 20:30:40 2017] read_form.cgi: Use of uninitialized value $mailinglist in anonymous hash ({}) at ./read_form.cgi line 20.
[Fri Dec 22 20:30:40 2017] read_form.cgi: Use of uninitialized value $lastname in anonymous hash ({}) at ./read_form.cgi line 20.
[Fri Dec 22 20:30:40 2017] read_form.cgi: Use of uninitialized value in string eq at ./read_form.cgi line 24.
HASH(0x55c8a73eeea8)
을 다음과 같이 출력은 , 어떤 값도 전달하지 않고 직접 스크립트를 실행합니다.
'내 {정의 ($ _)!} $의 successDOM = GREP $ 메일 링리스트, $의 FIRSTNAME, $의 LASTNAME, $ 메일,'!을 – ikegami