新手学习 HTML::Template 应该从哪篇文章开始?

更新时间

先读 《HTML::Template Explained, Part One》。这是 html-template.sourceforge.net 首页明确推荐的入门材料,原文说明它是“an introduction to HTML::Template”,并直接指出“This is a good place for you to start if you're new to the module”。该文最初发表于 PerlMonth 的最后一期,站点也提到第二部分尚未写出,因此目前它就是官方指定的起点。

为什么从这篇开始

首页把资料分成“Articles”和“Modules”两类,入门文章只有两篇,定位不同:

资料 性质 适合谁
HTML::Template Explained, Part One 模块入门介绍 第一次接触 HTML::Template 的新手
Using CGI::Application CGI::Application 介绍(Perl.com) 已了解模板、准备搭建 Web 应用的人

第二篇讲的是 Jesse Erlbaum 的 CGI::Application,只是其中包含对 HTML::Template 的支持,首页称其“Highly recommended to all HTML::Template users”。它不解释模板语法本身,所以不适合作为第一站。合理的顺序是先读入门文章建立模板概念,再读 CGI::Application 文章了解如何在应用框架里使用模板。

读完入门文章后的下一步

按需查阅模块文档

首页列出的模块各有分工,入门后可按目标选择:

  • HTML::Template:基础模块,提供模板服务本身。
  • HTML::Template::Expr:为模板语法增加简单表达式和函数支持。
  • HTML::Template::JIT:实验性的即时编译器,借助 Inline::C,首页称可带来最高 10 倍加速。
  • HTML::Pager:用 HTML::Template 对大量数据进行 HTML 分页。
  • IPC::SharedCache:辅助模块,让 HTML::Template 能在 IPC 共享内存中提供缓存。
  • CGI::Application:以 run-mode 概念组织 CGI 程序的模块,内置对 HTML::Template 的支持。
  • CGI::Application::MailPage:基于 CGI::Application 的“把本页发给朋友”应用模块。

获取代码与参与社区

所有模块都发布在 CPAN,可通过任意 CPAN 镜像或 CPAN.pm 模块获取;除 CGI::Application 外,其余模块也可在 SourceForge 下载页找到。想加入邮件列表,访问 http://lists.sourceforge.net/lists/listinfo/html-template-users。项目本身托管在 SourceForge,作者为 Sam Tregar。

常见卡点

  • 把 CGI::Application 文章当模板教程:它讲的是应用组织方式,模板语法仍需回到入门文章和基础模块文档。
  • 找不到“第二部分”:站点明确表示第二篇入门文章尚未撰写,不必反复搜索。
  • 误以为 JIT 是默认组件:首页将其标注为实验性,并依赖 Inline::C,选型时应先确认环境是否具备条件。