无法运行这个简单的Perl CGI程序

Sil*_*all 0 perl cgi cgi-bin

有人可以向我解释让perl在服务器上工作的基本知识.我需要服务器上的模块吗?如果是这样的话呢?我如何命名我的文件以及它们去了哪里?

根据我的理解,你需要一个模块,它进入cgi-bin.我无法得到一个明确的答案,我是否命名文件.pl或.cgi,当我把它放在cgi-bin中时,我收到服务器错误.我也将我的权限设置为777,所以这不应该是问题.

请帮忙!我只想了解如何使基本程序正常工作,如下所示.提前致谢!

    #!/usr/bin/perl
    require("cgi-lib.pl");
    print &PrintHeader;

    print "<html>";
    print "<head><title>Hello world!</title></head>";
    print "<body>";
    print "<p>Hello world!</p>";
    print "</body>";
    print "</html>";
Run Code Online (Sandbox Code Playgroud)

Bor*_*din 9

最新版本cgi-lib.pl是1999年,非常过时.我建议您使用该CGI库,它几乎必须已安装在您的服务器上并保持最新(最近一次是2012年8月16日)

你的程序应该是这样的:

#!/usr/bin/perl -- 

use strict;
use warnings;

use CGI ':standard';

print header;

print <<END;
<html>
  <head><title>Hello world!</title></head>
  <body>
    <p>Hello world!</p>
  </body>
</html>
END
Run Code Online (Sandbox Code Playgroud)

另请注意,您可以从命令行运行该程序,以查看它是否编译以及它生成的输出.一旦你在那里工作,你可以将它移动到服务器