我想在线运行Perl脚本,但我不知道如何。
在PHP中,你需要从<?php
开始,所以你必须从Perl开始这样的事情吗?
Apache会自动识别Perl吗?或者我是否必须上传Perl并让它使用#!/path/to/perl
指向它?
我可以使用print()
来显示HTML吗?
答案 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.so
或libphp5.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为您提供了执行此操作的基本模块。