Template-ToolkitでURI Unescape

URI Escapeするときはuriフィルタ(urlフィルタ)でいいんだけど、その逆のURI Unescapeのやり方が(TT標準内には)見つけられなかった。
のでCGI.pmにやらせてみた。

#! /usr/bin/perl
use Template;
Template->new->process(\*DATA);

__DATA__
[%
    SET link = 'http://example.jp/wiki/%E3%83%86%E3%82%B9%E3%83%88';
    USE CGI('uri=' _ link.replace(';','%3b'));
    CGI.params.uri;
%]

実行結果

http://example.jp/wiki/テスト

注意:CGI.pmのUNICODE周りの問題で文字化けする可能性あり。(TT側で調整可能)

あー、セミコロンが入ってるとダメだったので書き換えた。