CGI.pm html输出方法与简单打印语句

CGI.pm html输出方法与简单打印语句,html,perl,printing,cgi,output,Html,Perl,Printing,Cgi,Output,有几种方法,一个cgi脚本可以输出html。其中一个是将html代码打印为字符串或此处文档,另一个是创建cgi对象并使用cgi.pm方法 我现在的问题是,它们之间有什么区别吗?有没有办法将两者结合起来?例如,我需要使用cgi.pm方法实现recaptcha,并希望在打印语句之间添加cgi.pm代码块?这是可能的还是我错过了什么 对我来说,cgi.pm似乎只支持创建基本的html元素,而不支持创建那些经常用于复杂网页设计的元素。cgi.pm可以帮助您逐行打印某些关键标记、按内容打印内容,以及使用换

有几种方法,一个cgi脚本可以输出html。其中一个是将html代码打印为字符串或此处文档,另一个是创建cgi对象并使用cgi.pm方法

我现在的问题是,它们之间有什么区别吗?有没有办法将两者结合起来?例如,我需要使用cgi.pm方法实现recaptcha,并希望在打印语句之间添加cgi.pm代码块?这是可能的还是我错过了什么


对我来说,cgi.pm似乎只支持创建基本的html元素,而不支持创建那些经常用于复杂网页设计的元素。

cgi.pm可以帮助您逐行打印某些关键标记、按内容打印内容,以及使用换行符等

您可以使用类似HTML::Template的内容:

这对于包含许多要替换的变量的整个html文件来说是很好的

有几种选择,但对于诸如recaptcha和替换一些变量之类的东西,我建议使用一个简单的qq打印语句:

print qq~<p><span><a href="~; print $link; $count++; 
print qq|">Title</a>
  </span>
</p>\n|;
打印qq~

\n|;

希望这有助于

CGI.pm在您希望逐行、逐内容、换行\n字符等打印某些关键标记时有所帮助

您可以使用类似HTML::Template的内容:

这对于包含许多要替换的变量的整个html文件来说是很好的

有几种选择,但对于诸如recaptcha和替换一些变量之类的东西,我建议使用一个简单的qq打印语句:

print qq~<p><span><a href="~; print $link; $count++; 
print qq|">Title</a>
  </span>
</p>\n|;
打印qq~

\n|;

希望这对您有所帮助

您可以通过在
use
语句中提供标签名称,让CGI、pm打印出您想要的任何标签(即使是它不支持的标签或您自己制作的标签)

#!/usr/bin/perl

use strict;
use warnings;
use 5.010;

# Import standard functions, and add a madeuptag() function.
use CGI qw[:standard madeuptag];

say madeuptag("here it is"); # <madeuptag>here it is</madeuptag>
#/usr/bin/perl
严格使用;
使用警告;
使用5.010;
#导入标准函数,并添加madeuptag()函数。
使用CGI qw[:标准madeuptag];
说madeuptag(“在这里”)#给你
但是,使用HTML生成函数是一个非常糟糕的主意。在代码中使用字符串形式的原始HTML是一个更糟糕的想法。您最好使用某种模板系统-我建议使用


哦,为了实现reCAPTCHA,我建议。

通过在
use
语句中给出标记的名称,您实际上可以让CGI、pm打印出您想要的任何标记(即使是它不支持的标记或您制作的标记)

#!/usr/bin/perl

use strict;
use warnings;
use 5.010;

# Import standard functions, and add a madeuptag() function.
use CGI qw[:standard madeuptag];

say madeuptag("here it is"); # <madeuptag>here it is</madeuptag>
#/usr/bin/perl
严格使用;
使用警告;
使用5.010;
#导入标准函数,并添加madeuptag()函数。
使用CGI qw[:标准madeuptag];
说madeuptag(“在这里”)#给你
但是,使用HTML生成函数是一个非常糟糕的主意。在代码中使用字符串形式的原始HTML是一个更糟糕的想法。您最好使用某种模板系统-我建议使用


哦,对于实现reCAPTCHA,我建议。

从代码中的字符串打印HTML从来都不是一个好主意。当您的网站变得足够受欢迎,以至于您雇佣了一名前端开发人员(不懂Perl的人)时,会发生什么?谢谢您的回答!Dave,我同意你的看法,但我不喜欢当我过度回答他的问题时给他负面的评价。从代码中的字符串打印HTML从来都不是一个好主意。当您的网站变得足够受欢迎,以至于您雇佣了一名前端开发人员(不懂Perl的人)时,会发生什么?谢谢您的回答!戴夫,我同意你的看法,但我不喜欢当我过度回答他的问题时,得到的负面评价。谢谢你的回答。我将使用一个模板工具包。互联网上没有哪种方法比其他方法更好的文档。现在我明白了!谢谢谢谢你的回答。我将使用一个模板工具包。互联网上没有哪种方法比其他方法更好的文档。现在我明白了!谢谢