在线运行perl

时间:2012-01-08 16:13:34

标签: perl apache

我想在线运行Perl脚本,但我不知道如何。
在PHP中,你需要从<?php开始,所以你必须从Perl开始这样的事情吗? Apache会自动识别Perl吗?或者我是否必须上传Perl并让它使用#!/path/to/perl指向它? 我可以使用print()来显示HTML吗?

3 个答案:

答案 0 :(得分:3)

  

在PHP中,您需要从<?php开始,那么您是否必须从Perl中的类似内容开始?

有些框架(例如Mason)可以像这样工作,但更典型的是有一个标准的Perl程序输出页面。

  

Apache会自动识别Perl吗?

Apache不会自动识别任何类型的服务器端编程。

  

或者我是否必须使用#!/ path / to / perl上传Perl并让它指向它?

您需要在服务器上安装Perl。您通常会以这种方式启动脚本(但不一定,例如,如果您使用的是mod_perl),但必须将服务器配置为将其识别为可执行文件并运行它(就像您必须配置服务器以识别文件结束一样)使用.php作为运行PHP的脚本。)

  

我可以使用print()来显示HTML吗?

您应该首先查看问题Web Programming For The Non-Web Programmer (in Perl)

答案 1 :(得分:1)

你必须使用Apache吗?如果不是,这是另一种考虑。

我发现Mojolicious framework 中的内置服务器和模板引擎非常适用于HTML中的内联Perl。标签的格式为<%==,但工作方式相同。此外,它还有很好的文档和示例,可以帮助您前进。

编辑:似乎有方法可以将Apache与Mojolicious一起使用,请参阅http://search.cpan.org/perldoc?Mojolicious::Guides::Cookbook,尽管内置服务器对我来说效果很好,FAR较少(即没有)配置。

答案 2 :(得分:0)

Apache HTTP不会自动理解Perl或PHP。要使PHP正常工作,必须安装名为mod_php.solibphp5.so的Apache httpd模块。但是,由于许多网站都以这种方式使用PHP,因此通常会安装此Apache httpd模块。

正如您需要 mod_php 以便在Apache的httpd Web服务器中使用PHP一样,您需要做的是确保您的Web服务器正在使用mod_perl如果您想使用Perl in类似的方式。

您需要构建和安装mod_perl,这可能很棘手 - 尤其是如果您不控制服务器所在的计算机。

使用Perl的另一种方法是使用所谓的CGI-Perl。这更容易设置,但它也更加危险,因为它可能导致某人能够在您的Apache httpd服务器上运行未经授权的程序。

在这种情况下,您需要设置 CGI-BIN 目录,并配置Apache httpd。这很简单。完成后,将所有Perl脚本放入_CGI_BIN_目录。在这种情况下,您的Perl脚本必须处理Web服务器和Web客户端之间的所有通信并处理所有显示。幸运的是,perl并不太难,因为Perl为您提供了执行此操作的基本模块。