2016-07-08 5 views
0

Hash-Schlüssel und Werte können nicht angezeigt werden.Verwenden Sie Hashes in Perl HTML :: Template :: Kompiliert

Der Code ist wie aus den Beispielen bei http://search.cpan.org/~tinita/HTML-Template-Compiled-1.003/lib/HTML/Template/Compiled.pm

use HTML::Template::Compiled; 

my $template = HTML::Template::Compiled->new(filename => '/usr/share/nginx/status.tmpl'); 

$template->param(
    letters => { 
     1 => { letter =>'b' }, 
     2 => { letter =>'a' }, 
     3 => { letter =>'c' }, 
    }, 
); 

print($template->output); 

Vorlage:

<html> 
<head><title>Test Template</title></head> 
<body> 
    <%each letters%> 
     <%set_var val value=__value__ %> 
     <%= __key__ %>=<%= $val.letter %> 
    <%/each%> 
</body> 
</html> 

Das Ergebnis '= = =' ist. So werden die __key__ und __value__ überhaupt nicht gedruckt. Dies geschieht auch ohne verschachtelte Hashes, aber dieser Beispielcode ist der einfachste auf der Dokumentationsseite.

Was ist falsch an diesem Code?

Antwort

0

Das ist die loop_context_vars Option.

my $template = HTML::Template::Compiled->new(loop_context_vars => 1, filename => '/usr/share/nginx/status.tmpl'); 
Verwandte Themen