有人有关于如何使用perlTemplate模块的完整解决方案/演练吗



@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::IntroTemplate::FAQ很有用,并且在带有Template 的软件包中有出色的教程

Template::Tutorial是的门户

  • Template::Tutorial::Web使用模板工具包生成Web内容
  • Template::Tutorial::Datafile使用模板工具包创建数据输出文件

该模块在template-toolkit.org上有自己的网站,但那里的文档只是安装包中POD的镜像

查看template-tooolkit.org上的教程尤其是路段通过CGI脚本生成动态内容

相关内容

最新更新