无法在数组中找到匹配并在perl网页中打印

时间:2013-06-04 11:19:57

标签: perl cgi webpage

我正在尝试在perl中构建一个网页,在那里我从文本字段中获取名称,然后将其与数组进行比较。如果找到匹配,我需要显示存储在文本文件中的一些相应内容。这是我的代码,

#!G:\perl\bin\perl.exe -w

use CGI qw/:standard/;

my $cgi = CGI->new;
my $action = $cgi->param('action');


my @team = qw( red blue green yellow );


print
header,
start_html('welcome'),
h1('welcome'),
start_form,
"Please Enter your name",textfield('name'),p,  //can someone tell me what is ,p, doing here?
submit,
end_form,
hr,"\n";

my $n = $cgi->param('name');


for (my $i=0; $ <= $#team; $i++) {
if ( $team[$i] eq $n ) {

print "Welcome, $n";


}else {
print "who are you ?";
}

}
 print end_html;

我的问题是我在获取名称后无法进行比较,也无法在获取名称后打印任何内容。是否可以更改提交按钮内的文字?

1 个答案:

答案 0 :(得分:0)

您可以像这样更改提交按钮上的文字:

print submit(-value=>'text on the submit button');

请参阅documentation of CGI了解详情。阅读那些东西是值得的。


代码中也有拼写错误。在您获得print之后,这可能会导致您的代码无法$n。您会注意到use strict

for (my $i=0; $ <= $#team; $i++) {
            # ↑
            # └─ This is supposed to be $i