in reply to Re^2: HTTP::Server::PSGI outputs broken utf-8 strings
in thread HTTP::Server::PSGI outputs broken utf-8 strings
Good work but we can clean that up a bit. If i may ...
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)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: HTTP::Server::PSGI outputs broken utf-8 strings
by Anonymous Monk on May 01, 2015 at 23:29 UTC |