2006年3月21日火曜日

Template::Plugin::Encode

内部エンコーディングをFlagged UTF-8にしたところ、テンプレート内の日本語を含んだURLにuriフィルタを適用すると、空になるという現象が発生してしまいました。
uriフィルタをハックして、、とも思いましたが、テンプレート内でEncodeモジュールが使えたら便利かなと思い、プラグインを書いてみました。


Template::Plugin::Encode-0.01


使い方はこんな感じ。メソッドの実装は、Template::Plugin::Jcodeを参考に、virtual methodとして扱えるようにしてみました。

>

[% USE Encode %]

# encode
<a href="/foo/bar?jword=[% ja_str.encode.encode('utf-8')|html|uri %]">click here</a>

# decode
[% foo.encode.decode('euc-jp') %]

# from_to
[% num = bar.encode.from_to('sjis','euc-jp') %]
[% bar %]

<

こういうプラグインはすでにCPANにあるだろうと思ったんですが、ミストを感じなかったので、作成してみました。

0 件のコメント:

コメントを投稿