我在 Fedora-20 上使用 Apache 服务器。我正在尝试在本地服务器上运行 perl-cgi 程序,但它不起作用,我已附加我的 html 和 perl 代码。
html程序:
<html>
<head><title>Demo</title>
</head>
<body>
<form action="/cgi-bin/fam.cgi" method="post">
<input type="text" name="username">
<input type="submit">
</form>
</body>
</html>
运行正常并输出:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "hello world\n";
但是当我传递参数时,它不起作用。
#!usr/bin/perl -wT
use CGI;
my $username = param('username');
print header;
print start_html("Perl page");
print h2("hello $username");
print end_html;
我已经安装了cgi模块。有什么建议么?
答案1
我认为你必须补充:
my $q = CGI->new();
my $username = $q->param('username');
...
所以整体应该是这样的:
#!/usr/bin/perl -wT
use strict;
use warnings;
use CGI;
my $q = CGI->new();
my $username = $q->param('username');
print $q->header();
print $q->start_html("Perl page");
print $q->h2("Hello, $username!\n");
print $q->end_html;
您可以了解更多信息这里。
另外,在您的文件中,您缺少“/”:
#!usr/bin/perl -wT
我认为应该是:
#!/usr/bin/perl -wT