gpt4 book ai didi

perl - 将 Perl 嵌入 html 的最简单方法

转载 作者:行者123 更新时间:2023-12-04 10:31:24 28 4
gpt4 key购买 nike

我在网上搜索了几个有趣的 Perl 模块/框架,例如 HTML:Mason、HTML::Embperl 或 MVC Catalyst 框架等,它们可以让我将 Perl 嵌入到 html 中,类似于 html 中的 PHP 代码。

但是,我的 Perl 项目必须上传到仅提供有限权限和资源的 uni 服务器。

例如,Apache 1.3.3 版和 Perl 5.8.0 版(低于 Catalyst 的要求)

我使用脚本检查了所有已安装的 Perl 模块,只有那些名称包含单词“html”:

HTML::HeadParser    2.17
HTML::Entities 1.23
HTML::Filter 2.09
HTML::LinkExtor 1.31
HTML::Parser 3.26
HTML::PullParser 2.06
HTML::TokeParser 2.24
HTML::Tagset 3.03
HTML::Form 0.03

恐怕他们都不能让我将 Perl 直接嵌入到 html 中。

我知道我可以使用简单的打印语句和“heredoc”来打印 html 页面上的所有内容 在 Perl/CGI 中,但我认为这违反了 MVC 设计范式,并且开发起来更不灵活且更复杂,主要是因为现在业务逻辑被 html 标记弄乱了。

我目前的解决方案是使用 jQuery 触发 AJAX 请求,以将 html 从客户端加载到特定标签中。因此在这种情况下,Perl 仅用于提供服务器端数据访问、操作相关数据并为 AJAX 请求提供 JSON 格式的响应。

我想知道有没有更好的方法来做到这一点?我几乎无法更改服务器状态,而且我认为系统管理员不会那么慷慨地安装任何其他 Perl 模块。

更新信息:

将 Perl 嵌入 html 的主要原因是我对 CGI 编程非常陌生,而且由于我对 PHP 和 jQuery 比较熟悉,所以我想知道是否有适当的方法可以将 Perl 直接嵌入到 html 中,所以我可以很快完成客户端部分并专注于服务器端。

说,像这样:
<div id='user_status'>Your last visit was :[% getLastVisitDateTime($userId)%]</div>

请忍受我对 Perl/CGI 的一点了解,非常感谢提前提供的帮助。

第二次更新:
按照模板工具包网站的说明,我在自己的 MacBook Pro 上安装了这个模块,但不幸的是,由于许可原因,我无法将它安装到 uni 的服务器上:
Warning: You do not have permissions to install into
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
at /usr/lib/perl5/5.8.0/ExtUtils/Install.pm line 84.
mkdir /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-
multi/auto/Template: Permission denied at /usr/lib/perl5/
5.8.0/ExtUtils/Install.pm line 137
make: *** [pure_site_install] Error 255

所以不幸的是,我现在正在寻找其他方式......

好的,由于同样的原因,似乎无法安装 HTML::Mason。因此,恐怕我必须找到一个仅 .pm 的解决方案,这样我就不必在 uni 服务器的 perl 环境中安装任何东西......

最佳答案

不要将 Perl 嵌入 HTML。使用模板系统,如 Template Toolkit 或 HTML::Template。它们可以直接复制到服务器(如果您不使用 XS stash 进行 TT)或下载此操作系统的端口并解压缩。

关于perl - 将 Perl 嵌入 html 的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3641413/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com