use strict;
use warnings;
use HTML::Template;
use HTTP::Server::PSGI;
use Encode;
my $tmpl = HTML::Template->new( filehandle => \*DATA );
$tmpl->param(
foo => Encode::decode( 'UTF-8', "\xe2\x99\xa5" ),
bar => "\x{2665}",
baz => chr(9829) x 10,
);
my $app = sub {
return [
200,
[ 'Content-Type' => 'text/html; charset=UTF-8', ],
[ Encode::encode( 'UTF-8', $tmpl->output ) ],
];
};
my $server = HTTP::Server::PSGI->new(
host => "127.0.0.1",
port => 9091,
timeout => 120,
);
$server->run($app);
__DATA__
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<head><title>PSGI is Perl</title></head>
<body>
<h1>I <tmpl_var foo> Perl</h1>
<p>I <tmpl_var bar> Perl</p>
<p><tmpl_var baz> Perl</p>
</body>
</html>
Just a friendly reminder to keep your data separated from your code. :)
jeffa
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)
|