【问题标题】:Run perl script inside CGI script在 CGI 脚本中运行 perl 脚本
【发布时间】:2015-05-27 19:08:12
【问题描述】:

我是生物信息学的新手,但我知道 perl 脚本。我编写了一些用于解析 pdb 文件(蛋白质晶体结构文件)的脚本。现在我想在 Web 服务器中运行这些。我在我的 ubuntu 中安装了 apache2。我已经阅读了有关 CGI 的一些内容,并且位于本地 Web 服务器的 /usr/lib/cgi-bin/ 中。我需要在那个目录中有我所有的 perl 脚本。这些脚本从命令行ex: perl contacts.pl pdbFile.pdb 获取输入。

现在我如何在 perl CGI 脚本中运行这些脚本,以便 CGI 脚本即时抛出 html 页面并要求用户输入(我猜这包括 PHP)。最后,我应该有一个能够在用户输入时运行我的 perl 脚本 (contacts.pl) 的 html 页面。

如果无法在html 网页中运行我的 perl 脚本,还有什么替代方案?

任何帮助将不胜感激。

【问题讨论】:

  • 这里不需要 PHP,使用 PERL 进行 Web 开发已经在数百个在线教程和数十本书籍中进行了介绍。
  • 难道不能在 CGI perl 脚本中运行我的 perl 代码吗?
  • 当然是。你只需要读一点,看看所有的部分是如何组合在一起的。
  • 我已经为这个..但是我发现了很多..你能不能给我一个我容易理解的地址,因为我来自生物学我想知道哪个最好选择为我服务
  • 您必须阅读有关 HTML 表单、Apache CGI 配置和使用 perl 生成 HTML 页面(可能使用 CGI.pm)的内容。您需要一个包含 <form action="contacts.pl"> 元素的 HTML 页面,您可以在此处收集用户输入。当用户单击提交时,Web 浏览器将输入数据发送到 Web 服务器。启用 CGI 的服务器,运行表单的 action 属性中指定的脚本并将此数据传递给它。该脚本使用输入执行您想要的操作,并生成一个 HTTP 响应,该响应作为对表单提交的响应发送到浏览器。这些是使用 CGI 生成动态内容所涉及的步骤。

标签: apache perl cgi


【解决方案1】:

我不认为我会通过 CGI 运行所有内容。如果我是你,我会考虑使用 perl web 框架来处理生成网页和(大概)上传文件,然后调用你现有的代码来解析 pdb 文件并获取你感兴趣的任何内容。

一些流行的框架:

至于运行网络服务器,他们应该有带有 apache 说明的部署指南。或者使用其他可以轻松运行 perl webapps 的网络服务器,例如 starman。

【讨论】:

    【解决方案2】:

    首先,您可以从以下链接获得基本想法:

    Perl/CGI script with Apache2

    CGI script calling a perl script

    First Perl CGI script

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 2011-08-15
      • 2014-10-30
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 2011-12-23
      相关资源
      最近更新 更多