入力されたデータのタグをエスケープするには例えば下記のようなルーチンで
やったりしますが
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/
■ データベースへのデータのINSERT my $obj = Class->insert(¥%data); ■ データのSELECT(オブジェクトを返す) $obj = Class->retrieve( $id ); $obj = Class->retrieve( %key_values ); ■ データのSELECT(全件の配列を返す ※使ってはダメ) @cds = Music::CD->search(year => 1990); @cds = Music::CD->search(title => "Greatest Hits", year => 1990); ■ Pagerを使ったデータのSELECT use Class::DBI::Pager; my $pager = Object->pager(20,1);#(1ページの個数,ページ) my @page1 = $pager-> retrieve_all
ドキュメント:http://search.cpan.org/dist/Class-DBI/lib/Class/DBI.pm
日本語訳:http://bulknews.net/lib/doc-ja/Class-DBI.ja.html
関連モジュール:http://blog.nomadscafe.jp/archives/000457.html
Class::DBI::Iterator
http://search.cpan.org/~tmtm/Class-DBI-v3.0.14/lib/Class/DBI/Iterator.pm
Class::DBI::Plugin::Iterator
http://www.annocpan.org/~ASAKURA/Class-DBI-Plugin-Iterator-0.11/lib/Class/DBI/Plugin/Iterator/Nihongo.pod
Class::DBI::View
http://search.cpan.org/~miyagawa/Class-DBI-View-0.07/lib/Class/DBI/View.pm
Class::DBIとTime::Piece
use Net::Ping; my $host="192.168.0.1"; my $timeout=0.1; my $p = Net::Ping->new("icmp"); if $p->ping($host, $timeout){ print "$host is alive.?n"; } $p->close();
root ユーザになれる環境でないと実行できないみたい
引用元:http://www.augustus.to/blog/3128/archives/000042.html
■ アバウトなプログラム実行時間の取得
my($starttimes_user) = (times())[0]; # 実行時間を計測したい処理をここに記述 my($endtimes_user) = (times())[0]; my $exectimes_user=$endtimes_user-$starttimes_user; print "[$exectimes_user]秒";
■ 詳細なプログラム実行時間の取得
use Time::HiRes qw(gettimeofday); my ($sec, $microsec) = gettimeofday; printf "%d %d?n", $sec, $microsec;