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
    A heart is data? Poor jeffa