M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2009年3月14日 18:33

HTML::Templateで<DATA>から読み込ませた時点でutf8フラグ落とす

このエントリーをはてなブックマークに追加 mixiチェック

Filename: show_datafilehandle.pl

use strict;
use warnings;
use HTML::Template;
use utf8;
use Encode;
 
binmode DATA => ':raw';
my $tmpl = HTML::Template->new(
  filehandle => *DATA,
);
$tmpl->param(fuga => encode('utf8', 'ふが') );
print $tmpl->output; # utf8フラグ下がってる
exit;
__END__
ほげ
<tmpl_var name="fuga">

出力結果:

ほげ
ふが

としたらいいみたい。

HTML::Template UTF8で書かれたテンプレートファイルを読み込む - Perl入門~サンプルコードによるPerl入門~ [d.hatena.ne.jp]

とやっていることは逆なんですが、CGI::Applicationのpluginで、読み込ませたテンプレートがutf8フラグ付いているとどうやっても回避できない問題があったので、読み込ませるテンプレートをutf8フラグ付いていないようにする方法でやる場合ということで。

投稿 大野 義貴 [Perl] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2784

コメントする