我正在尝试在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;
我的问题是我在获取名称后无法进行比较,也无法在获取名称后打印任何内容。是否可以更改提交按钮内的文字?
答案 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