如何用Perl为WWW编写服务器端代码?

如何用Perl为WWW编写服务器端代码?,perl,Perl,我是Perl编程新手。如何使用它来代替PHP?在Xampp或PHP中,我们有“htdocs”来存储.PHP文件,但如何保存.pl文件呢 当我试图通过localhost打开一个.pl时,整个文件都是可下载的,不像在php中打开一个.php,php代码是可执行的。最简单的选择是将web服务器配置为支持CGI,然后编写Perl以遵循CGI协议(这一点很有帮助)。如果愿意,可以将服务器配置为执行扩展名为.pl的任何文件 稍微复杂一点,但更灵活一点。这是一组中间件,您可以通过多种方式(例如FastCGI或

我是Perl编程新手。如何使用它来代替PHP?在Xampp或PHP中,我们有“htdocs”来存储.PHP文件,但如何保存.pl文件呢


当我试图通过localhost打开一个.pl时,整个文件都是可下载的,不像在php中打开一个.php,php代码是可执行的。

最简单的选择是将web服务器配置为支持CGI,然后编写Perl以遵循CGI协议(这一点很有帮助)。如果愿意,可以将服务器配置为执行扩展名为.pl的任何文件


稍微复杂一点,但更灵活一点。这是一组中间件,您可以通过多种方式(例如FastCGI或mod_perl)连接到web服务器,以获得更好的性能。这也提供了一些不错的调试选项。您可能会发现有一个非常有用的方法。

最简单的方法是将web服务器配置为支持CGI,然后编写Perl以遵循CGI协议(这个方法非常有用)。如果愿意,可以将服务器配置为执行扩展名为.pl的任何文件


稍微复杂一点,但更灵活一点。这是一组中间件,您可以通过多种方式(例如FastCGI或mod_perl)连接到web服务器,以获得更好的性能。这也提供了一些不错的调试选项。您可能会发现有一个很有用的方法。

从一个简单的方法来看,您的web服务器似乎配置不正确;它应该解释文件,而不是分发文件


出于好奇,如果你懂PHP,为什么要用Perl来处理web呢?我想我不久前读过一篇文章,说PHP在显示网页时比Perl快。

从一种天真的方法来看,你的web服务器似乎配置不正确;它应该解释文件,而不是分发文件


出于好奇,如果你懂PHP,为什么要用Perl来处理web呢?我想我之前读过一篇文章,说PHP在显示网页时比Perl快。

请参见。

请参见。

如果您想从Perl5 web开发开始,从CGI开始是有用的,但是 这不是必要的

有一个模块。您可以看看HTTP是如何工作的 以及Apache或您使用的任何服务器如何调用您的CGI程序。好的开始就是使用这个 脚本:

#/usr/bin/env perl
严格使用;
使用警告;
打印“内容类型:text/html\n\n”;
打印“”;
打印“”;
打印“”;
对于我的$var_名称(键%ENV){
打印“”;
打印“$var_name”;
打印“$ENV{$var_name}”,“\n”;
打印“”
}                                                                               
打印“”;
打印“”;
打印“”;
然后查看“REQUEST\u URI”、“REQUEST\u METHOD”和“QUERY\u STRING”等变量,您可以 了解CGI模块在后台做什么

重要的是要知道脚本必须位于设置为运行cgi的目录中 脚本,例如:

ScriptAlias /cgi_bin/ /var/cgi_bin/                                             

<Directory /var/cgi_bin/>                                                       
  Options +ExecCGI                                                                                        
  AddHandler cgi-script .cgi .pl                                                
</Directory>
ScriptAlias/cgi\u-bin//var/cgi\u-bin/
选项+执行CGI
AddHandler cgi script.cgi.pl
和文件必须可由运行您的服务器的任何用户执行(如Apache2),并且可读

在此之后,您还可以查看诸如&之类的现代工具包。我建议 你真迷人。还有一个web框架叫做

关于框架,Catalyst在这里已经很长时间了,而且它可以工作,但是它需要一些卡夫牌的东西。这是试图用像mojolicious这样的新框架来修复的。莫乔利:不要
几乎没有外部CPAN依赖项。

如果您想从Perl5 web开发开始,从CGI开始是有用的,但是 这不是必要的

有一个模块。您可以看看HTTP是如何工作的 以及Apache或您使用的任何服务器如何调用您的CGI程序。好的开始就是使用这个 脚本:

#/usr/bin/env perl
严格使用;
使用警告;
打印“内容类型:text/html\n\n”;
打印“”;
打印“”;
打印“”;
对于我的$var_名称(键%ENV){
打印“”;
打印“$var_name”;
打印“$ENV{$var_name}”,“\n”;
打印“”
}                                                                               
打印“”;
普林
ScriptAlias /cgi_bin/ /var/cgi_bin/                                             

<Directory /var/cgi_bin/>                                                       
  Options +ExecCGI                                                                                        
  AddHandler cgi-script .cgi .pl                                                
</Directory>
#!/usr/bin/env perl

use strict;
use warnings;

use Mojolicious::Lite;

get '/(:name)' => {name => 'World'} => sub {
  my $self = shift;
  $self->render('index');
};

app->start;

__DATA__

@@ index.html.ep
<!DOCTYPE html><html>
<head>
  <title> Hello <%= $name %> </title>
</head>
<body>
  Hello <%= $name %>
</body>
</html>