Perl脚本的Web前端

时间:2013-06-20 15:26:08

标签: perl

我被要求开发一个用Perl编写的脚本的Web前端。我不知道从哪里开始。网页如何与命令行脚本交互?

编辑:经过两周的研究,我完成了项目。我正在寻找的基本答案是:使用html开发网页,使用cgi与perl脚本进行通信,并重建脚本以使用网页。感谢大家的帮助,这有点帮助。

2 个答案:

答案 0 :(得分:3)

这有两个方面。

编写Web前端

一般来说,您应该使用Plack/PGSI。它充当中间件层,允许您以各种方式运行Perl Web应用程序(我通常使用FastCGI,其他选项包括mod_perl和CGI)。

您可以使用DancerCatalyst(在引擎盖下使用Plack)这样的框架,但它们可能有些过分(取决于脚本的功能)。

如果你需要非常基础,你可以使用没有Plack的CGI(CGI module使这很容易)。 CGI效率不高,但配置非常简单。除非您经常调用脚本或脚本具有较高的启动时间,否则您不会注意到低效率。

访问现有脚本

快速而肮脏的方式是您的Web应用程序生成一个shell并在其中运行它。您可以使用backticks, system or exec,或者,如果您想要更多控制权,请使用IPC::Run

强大的方法是将脚本的业务逻辑分解为a module并重写命令行程序以解析参数,然后从模块中获取相应的函数。然后,您为Web应用程序执行相同的操作(区别在于您如何呈现输入和输出)。

答案 1 :(得分:2)

让您的Perl脚本通过互联网与Web应用程序进行交互:

在这里查看my example code

我正在使用HTTPLWP Perl模块与this web app进行互动。

它发布了一个表单。

基本上,这个脚本正在做的是,它正在遍历一个Qt翻译文件列表,并将它POST到这个在线网络应用程序,该应用程序正在使用Bing Translation API进行翻译。然后脚本返回已翻译的文件并将其保存到硬盘。在POST表单中,它还指定了源语言和目标语言是什么。因此,这是在PC上运行的脚本以及与Internet上的Web应用程序交互的示例,包括发送数据和文件并将其接收回来。

这是关于这个主题的好book chapter

使用Perl开发Web应用程序:

modperl与Apache一起使用。此wikipedia page也有一些信息。

另一种方法是使用Perl进行CGI脚本编写。这是tutorialwikipedia page for this也很有用。如果您不确定什么是CGI,read thisthis

另一种方法是使用Perl Web框架,如DancerMojoliciousCatalyst

相关问题