Perl CGI通过CGI函数创建HTML表单而不是调用perl CGI的html表单

时间:2014-05-19 14:29:23

标签: perl cgi

我想知道如何使用单个Perl文件生成HTML表单,并根据调用单独Perl脚本的单个HTML文件的标准方法来处理参数。

可以使用哪些方法来呈现HTML输入表单并将参数传递给同一个调用脚本,然后对它们进行操作?这是不好的做法吗?

2 个答案:

答案 0 :(得分:2)

  

可以使用哪些方法呈现HTML输入表单并将参数传递给同一个调用脚本

省略action属性,或将网址设置为当前网址。

  

然后对他们采取行动?

测试以查看字段是否包含在数据中和/或请求方法是否为POST(假设POST适合表单)并使用它来确定是否应显示表格或下一步。

  

这是不好的做法吗?

不,这是一种常见的模式。它允许您重复生成表单的代码,以便在输入错误的情况下返回一个预先填充了提交数据的新表单。

答案 1 :(得分:0)

这是一个非常常见的做法,让CGI程序看起来像这样:

if (parameters) {
  Handle the paremeters to produce a page of results
} else {
  Present an input form
}

但我担心你的标题会讨论使用CGI.pm的HTML功能生成HTML。几乎所有人都认为这些功能在十五年前是一个坏主意。您应该使用templating engine来生成HTML outout。

而且,实际上,这些天你不应该编写CGI程序。如果您使用PSGI之类的东西编写软件,您会发现它更灵活。