如何在 Fedora 20 上的 cgi-perl 中传递参数?

如何在 Fedora 20 上的 cgi-perl 中传递参数?

我在 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

相关内容