从html执行perl cgi脚本

时间:2013-08-26 20:57:43

标签: html perl

我正在尝试从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";

2 个答案:

答案 0 :(得分: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";

答案 1 :(得分:1)

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

2&gt;。如果您的html页面中有文本框名称用户

即。这样的事情: -

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

然后尝试这个

my $user=$query->param("user");
在您的cgi脚本中

并获取变量$ user。

中的输入