Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 有人对如何使用perl模板模块有完整的解决方案/演练吗?_String_Perl_Template Engine - Fatal编程技术网

String 有人对如何使用perl模板模块有完整的解决方案/演练吗?

String 有人对如何使用perl模板模块有完整的解决方案/演练吗?,string,perl,template-engine,String,Perl,Template Engine,@neuhaus在template-toolkit.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 = {

@neuhaus在template-toolkit.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
我现在只是在一个测试文件中运行它,以防你们想知道

查看以下网址的教程: 特别是这一部分

您可能会发现它非常有用,并且在
模板

是通往

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

模块在上有自己的网站,但文档中只有安装包中POD的镜像

中的
过程()
方法的定义如下:

第一个参数将输入模板指示为以下之一:文件名 相对于
包括路径
,如果已定义;对文本字符串的引用 包含模板文本;或文件句柄引用(例如。
IO::Handle
或子类)或
GLOB
(例如
\*STDIN
),从中 模板可以读取

如果向其传递字符串,则假定它是包含模板的文件的名称。如果要向其传递包含实际模板的字符串,则需要传递对字符串的引用

所以你的台词是:

$template->process($text, $vars)
需要:

$template->process(\$text, $vars)

错误消息是一个很好的线索。它告诉您找不到名为“This is string number[%num%]”的文件。

该部分似乎与我想做的非常相似。但是我有错误。我将立即更新问题中的代码。Re。“我只看到了与Template::Toolkit相关的答案,我们的系统上似乎没有这个答案。”(编辑之前)Template::Toolkit只是包含Template.pm的发行版。这不是一个单独的模板系统。是的,我意识到了<代码>使用模板::Toolkit在此系统上不起作用。我不知道为什么…它不起作用,因为
使用Template::Toolkit
在模板目录中查找文件Toolkit.pm,但没有Toolkit.pm。你必须做
使用模板唯一真正的傻瓜是害怕问的人。@PaulRussell:Stack Exchange不同于常规论坛或博客。虽然可以在问题中添加澄清信息,或纠正键入错误,但将问题变形到远离原始形式是不合适的,主要是因为它通常会使更改前发布的评论和解决方案变得毫无意义。如果你从最初的问题中获得启发,但遇到了新的绊脚石,那么你应该提出一个新问题。