如何从本地主机运行 perl 脚本?
我已经安装了 Apache 2.2 和 Active Perl 5.16.3。我能够从命令提示符运行 perl 脚本。但由于我正在处理 Web 应用程序,我希望它从 localhost 运行。
但是,我在浏览器中收到以下错误
内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。
请帮帮我!
您可以从 Web 浏览器运行 cgi 脚本。CGI 意味着它应该在将任何输出发送到服务器(将其发送回浏览器)之前发送一个 HTML 标头。
http://perldoc.perl.org/CGI.html#NAME
http://www.cs.tut.fi/~jkorpela/perl/cgi.html
像这样:
use CGI; # load CGI routines
$q = CGI->new;
print $q->header; # create the HTTP header
print $q->start_html('hello world'); # start the HTML
### your script logic goes here
print $q->end_html; # end the HTML
当然,CGI 已经过时了,对于新的开发,您应该使用一些更新的框架,例如:Dancer、Mojolicious、...
您的问题可能与 Apache 的配置有关。(可能是 Apache 需要为 .cgi 脚本进行配置) - 如果是这种情况,那么您可以在此处找到有关此方面的好信息:
http://www.perlmonks.org/?node_id=44536
http://www.cgi101.com/book/connect/winxp.html
http://www.editrocket.com/articles/perl_apache_windows.html
通常,您需要做很多事情才能使其正常工作。遵循良好的 HOWTO 以确保正确安装和配置所有内容通常会让您在本地 Windows 机器上执行脚本。
如果有人在 2017 年寻找答案,请在 Windows 2010 机器上进行操作。
从 perl 站点下载 Strawberry perl 安装在默认目录中。C:\Strawberry
一旦你成功让 apache 服务器运行,然后
将您的 perl 脚本放在 Apache24/cgi-bin/ 文件夹中。你的 perl 脚本的第一行应该指向安装 perl 的路径,对于我来说它是 #!C:/Strawberry/perl/bin/perl.exe 你应该根据你的安装文件夹更改你的路径
文件名 - first.pl
#!C:/Strawberry/perl/bin/perl.exe
print "Content-type: text/html\n\n";
print "Hello, World.";