0

我正在尝试从 html 运行 perl 脚本,但在执行过程中出现错误。这是我的 html 和 2 行 perl 代码。错误代码的描述性不是很好,只是说“内部服务器错误”和其他一些行。我还想知道如何在 perl 脚本中显示接收用户名。

pwd
/var/www/cgi-bin

ls -l
total 4
-rwxr-xr-x 1 root root 49 Aug 26 16:49 username.pl

html代码:

<html>
<head>
</head>
<body>
<h1> Hello </h1>
<form action="/cgi-bin/username.pl" method="POST">
     <input type="text" name="username">
     <input type="submit">
</form>
</body>
</html>

Perl代码:

#!/usr/bin/perl
print "Received user name is\n";
4

2 回答 2

2

您的 Perl 脚本没有生成适当的 CGI 标头。请阅读perldoc CGI,或者,快速回答:

#!/usr/bin/perl
use strict;
use CGI;

my $q = CGI->new();
my $username = $q->param("username");
print $q->header(-type => "text/plain");
print "Received username is $username\n";
于 2013-08-26T21:06:10.507 回答
1

1>.my 将列出的变量声明为封闭块文件的本地变量。

2>.如果你的html页面中有一个文本框名称用户

即是这样的:-

<td><b><font color="green" size="3">USER</font><input type="text" name="user" value="">

然后试试这个

my $user=$query->param("user");

在您的 cgi 脚本中并获取变量 $user 中的输入。

于 2013-08-27T07:57:13.463 回答