簡體   English   中英

是否有人對如何使用perl模板模塊有完整的解決方案/演練?

[英]Does anyone have a full solution/walkthrough of how to use the perl Template module?

@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

目前,我只是在測試文件中運行它,以防萬一您想知道。

模板文檔中 process()方法的定義是這樣的:

第一個參數將輸入模板指示為以下之一:相對於INCLUDE_PATH的文件名(如果已定義); 對包含模板文本的文本字符串的引用; 或文件句柄引用(例如IO::Handle或子類)或GLOB (例如\\*STDIN ),可以從中讀取模板。

如果將其傳遞給字符串,則假定它是包含template的文件名稱 如果要向其傳遞包含實際模板的字符串,則需要傳遞對字符串的引用。

所以你的線:

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

需要是:

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

錯誤消息是對此的一個很好的線索。 它告訴您找不到名為“這是字符串號[%num%]”的文件。

請查看template-toolkit.org上的教程,特別是通過CGI腳本動態生成內容部分。

您可能會發現Template::Manual::IntroTemplate::FAQ非常有用,並且Template包中包含出色的教程

Template::Tutorial是一個門戶網站

該模塊在template-toolkit.org有其自己的網站,但是文檔只是安裝包中POD的鏡像

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM