关于将Perl编码为类似PHP的代码的建议
首先,我是一名perl程序员,但和许多人一样,我也用PHP编写客户端工作代码,尤其是web应用程序 我发现我用两种语言复制了很多项目,但使用了不同的范例(例如处理cgi输入和会话数据)或函数 我想做的是开始以一种更像PHP的结构编写Perl代码,以便 a) 我脑子里有一个范例 b) 可以更快地将脚本从一个移植到另一个 具体来说,我想问的是,人们是否可以建议您如何在perl中执行以下操作 1) 重现关于将Perl编码为类似PHP的代码的建议,php,perl,port,Php,Perl,Port,首先,我是一名perl程序员,但和许多人一样,我也用PHP编写客户端工作代码,尤其是web应用程序 我发现我用两种语言复制了很多项目,但使用了不同的范例(例如处理cgi输入和会话数据)或函数 我想做的是开始以一种更像PHP的结构编写Perl代码,以便 a) 我脑子里有一个范例 b) 可以更快地将脚本从一个移植到另一个 具体来说,我想问的是,人们是否可以建议您如何在perl中执行以下操作 1) 重现$\u会话,$\u GET等的功能。 e、 g.通过包装CGI.pm的param()方法,会话库 2
$\u会话
,$\u GET
等的功能。
e、 g.通过包装CGI.pm
的param()
方法,会话库
2) 类似于PHP的模板库
我习惯于在PHP惯例中混合使用我的代码和HTML。e、 g
<h1>HTML Code here</h1>
<?
print "Hello World\b";
?>
HTML代码在这里
有人能告诉我哪种perl模板引擎(可能还有配置)允许我进行类似的编码吗
3) PHP函数库
有人知道一个perl库可以复制很多php内置函数吗?2)如果你真的想让你的脚本成为php中的模板,那么就有一个模块(它是从另一个实际称为PerlHP的项目中衍生出来的)。还有其他模块,如HTML::Mason,用于Perl程序员认为的模板引擎
3) 在CPAN上,我找到了和,但我没有使用它们,否则无法为它们担保。您还应该检查一下,这是一个Apache模块,试图模拟Perl的mod_php行为,尽管它的开发似乎已经停止。更多信息来自。我本想告诉你,喜欢Perl和PHP,因为它们独特的自我,但第一名给我的印象是一点无聊的乐趣。我的建议是自己编写代码,并将其发布到CPAN。我读了你的问题,心想:
use CGI::PHPLike qw(:superglobals); # Pull in everything from CGI::PHPLike::Vars
CGI::PHPLike::Config->variables_order 'EGPCS';
...
%\u ENV
可能只是perl的%ENV
的别名%\u请求
和%\u会话
可能是对象,等等。见鬼,%\u会话
甚至可能由支持
阅读,并查看源代码,当然,还有一些更简单的模块,如。看看
这是一个基于Perl的模板系统,它似乎提供了PHP所做的一切,这是基于我对PHP所知甚少
要涵盖您的具体观点:
:EmbPerl提供哈希,其中包含通过POST或GET传递的完整表单数据集 %fdat不区分值是来自GET的查询字符串还是来自POST的表单字段) 如果您绝对必须只有GET的QUERY_字符串中的值,那么下面是一个简单的函数示例:-尽管我现在不明白为什么要将GET与POST数据分开$\u GET
:我并不是100%了解PHP的功能,但如果我是对的,每个用户数据有$\u SESSION
,每个模块/页面数据有%udat
来处理会话内容 EmbPerl文档的“”区域将更详细地描述使用这两种方法,以及EmbPerl中的所有其他大量会话支持 下面是一个快速的%mdat
简介: 。。。只要您将任何内容写入%udat
,Embperl就会创建一个会话id,并通过cookie将其发送到浏览器。您写入%udat的数据由Apache::Session存储。下次同一用户请求Embperl页面时,浏览器将返回带有会话id的cookie,Embperl将使用您为该用户存储的相同值填充来自Apache::session的%udat哈希%udat
- 您包含的模板代码在EmbPerl中如下所示:
<h1>HTML Code here</h1>
[-
print OUT "Hello World!";
-]
这里是HTML代码
[-
打印出“你好,世界!”;
-]
或者要获得更惯用/正确的解决方案
<h1>HTML Code here</h1>
[+ "Hello World!" +]
这里是HTML代码
[+“你好,世界!”+]
另外,我不知道“
”在PHP中的作用,所以我没有克隆它 Embperl支持所有标准模板材料(\b
用于执行,[-]
用于包含任意Perl代码的结果,模板流控制命令([++]
/'[$for$]`等)等等。它还与mod_Perl完全兼容[$if$]