@neuhaus在template-tooolkit.org网站上向我指出了新的文档
以下是我一直试图运行/篡改的CPAN代码:
#!/usr/bin/env perl
use lib ('./t/lib/');
use strict;
use warnings;
use Template;
use Test::More tests => 1;
my $text = "This is string number [% num %] .";
my $vars = {
num => "one",
};
my $template = Template->new();
$template->process($text, $vars)
|| die "Template process failed: ", $template->error(), "n";
ok(defined $text, 'Returns something');
我收到以下错误:
Template process failed: file error - This is string number [% num %] . : not found
我现在只是在测试文件中运行它,以防你们想知道。
Template文档中process()
方法的定义是这样的:
第一个参数指示输入模板为以下之一:文件名相对于
INCLUDE_PATH
,如果定义的话;对文本字符串的引用包含所述模板文本;或文件句柄引用(例如。IO::Handle
或子类)或GLOB
(例如*STDIN
)可以读取模板。
如果您向它传递一个字符串,则假定它是包含模板的文件的名称。如果要向它传递包含实际模板的字符串,则需要传递对字符串的引用。
所以你的线路:
$template->process($text, $vars)
需要:
$template->process($text, $vars)
错误消息是一个很好的线索。它告诉你它找不到一个名为"This is string number[%num%]"的文件。
您可能会发现Template::Manual::Intro
和Template::FAQ
很有用,并且在带有Template
的软件包中有出色的教程
Template::Tutorial
是的门户
Template::Tutorial::Web
使用模板工具包生成Web内容Template::Tutorial::Datafile
使用模板工具包创建数据输出文件
该模块在template-toolkit.org
上有自己的网站,但那里的文档只是安装包中POD的镜像
查看template-tooolkit.org上的教程尤其是路段通过CGI脚本生成动态内容