入力されたデータのタグをエスケープするには例えば下記のようなルーチンで
やったりしますが
sub escape_tag() { my ($str) =@_ ; return unless(defined $str); $str =~s/&/&/g; $str =~s/</</g; $str =~s/>/>/g; $str =~s/"/"/g; $str =~s/,/,/g ; return $str; }
これだと全てのタグがエスケープされてしまいます。
そこで特定のタグ(例えば<a> <img>)のみエスケープしないようなモジュールがCPAN
にないかと探したところ。。。
こんなの発見
■ HTML::EscapeEvil (Testクリア 6件)
http://search.cpan.org/~holly/HTML-EscapeEvil-0.05/
■ Tripletail::TagCheck (Testクリア なし?)
http://search.cpan.org/~mikage/Tripletail-0.17/lib/Tripletail/TagCheck.pm
■ Template-Toolkitを使う場合は
http://logic.moo.jp/memo.php/archive/318/