2013-05-18 51 views
0

使用HTML::Template的正常方式如下:如何在不爲每個模板創建單獨文件的情況下使用HTML :: Template?

主要文件:

my $template = HTML::Template->new(filename => 'secret.tmpl'); 
$template->param(SECRET_MESSAGE => $bar); 
print $template->output; 

secret.tmpl:

<h1>Hello <TMPL_VAR NAME=SECRET_MESSAGE></h1> 

的問題是,我可以使用模板引擎,而無需創建單獨的文件 - 即即時生成模板的內容?

或者也許它可以與任何其他模塊?

+1

這是毫無意義的建議別的東西不知道究竟是什麼毛病'HTML :: Template'不可以接受,你不覺得嗎? – raina77ow

+0

我認爲首先我們應該創建secret.tmpl文件,並將值傳遞給它。 – pavan

+0

嗯,你的意思是你不想爲模板使用單獨的文件?但這並非必要:您可以使用存儲在變量中的模板,如[文檔](https://metacpan.org/module/HTML::Template#new)中所示。檢查'new_scalar_ref'和'new_array_ref'示例。 – raina77ow

回答

1

是的,它可能與HTML::Template:其constructor與存儲在標量(作爲整個文本塊)或數組(逐行)存儲的模板一起使用。就像這樣:

my $t_from_scalar = HTML::Template->new(
    scalarref => $ref_to_template_text, 
    option => 'value', 
); 

my $t_from_array_of_lines = HTML::Template->new(
    arrayref => $ref_to_array_of_lines, 
    option => 'value', 
); 

其實,有這些情況下,兩個特定的構造方法:

my $t_from_scalar = HTML::Template->new_scalar_ref(
    $ref_to_template_text, option => 'value'); 

my $t_from_array_of_lines = HTML::Template->new_array_ref(
    $ref_to_array_of_lines, option => 'value'); 
+0

選項指定了什麼? – pavan

+0

你檢查了鏈接的文檔嗎?您可以使用不同的選項初始化模板。示例顯示了這應該如何完成。 – raina77ow

+0

我剛纔看到了它,但我並沒有明白。 – pavan

相關問題