为什么此密码检查无法按预期工作?

mrl*_*nce 2 perl cgi

我试图从PHP扩展.这是我遇到的一个基本问题,无法弄明白......

password.pl

#!/usr/bin/perl

use CGI;
$q = new CGI;

print "Content-type:text/html\r\n\r\n";
print '<html>';
print '<head>';
print '<title>Card</title>';
print '</head>';
print '<body>';
print '<FORM METHOD=POST ACTION=/card.pl>';
print '<INPUT TYPE=password NAME=password SIZE=25>';
print '<input type=submit value=Submit>';
print '</FORM>';
print '</body>';
print '</html>';

1;
Run Code Online (Sandbox Code Playgroud)

card.pl

#!/usr/bin/perl

use CGI;
$q = new CGI;

$password = $q->param("password");
print $password;
if ($password == pass)
{
  print 'Yup';
}
else
{
  print 'Wrong Password';
}


1;
Run Code Online (Sandbox Code Playgroud)

什么都没有从password.pl表单传递给card.pl?我以前用过一个类似的例子没问题?

更多咖啡......

Que*_*tin 8

use strict;,use warnings;并查看您的错误日志.还要验证您的HTML.

然后,您将收到以下问题的警报:

在card.pl第7行使用"strict subs"时,不允许使用Bareword"pass".

你可能想要:

($password eq 'pass')
Run Code Online (Sandbox Code Playgroud)