もっと軽くて渋いCGI.pmを創ろう
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/12/25 13:52ID:KBD2Ypc80002取り入れよ!
01/12/25 13:57ID:???(・-・)すうろぅ (・-・)
0003名無しさん@お腹いっぱい。
01/12/25 13:58ID:qH/nvcoM0004上尾
01/12/25 14:03ID:8JSVXMAC>HNS とか TDS
の HNS ってなに?
0005名無しさん@お腹いっぱい。
01/12/25 14:18ID:qH/nvcoMHNS
http://www.h14m.org/
TDS
http://tds.dive-in.to/
0006名無しさん@お腹いっぱい。
01/12/25 14:32ID:???-------------------------終了--------------------------
0007名無しさん@お腹いっぱい。
01/12/25 14:34ID:???0008名無しさん@お腹いっぱい。
01/12/25 14:35ID:???-------------------------終了--------------------------
0009名無しさん@お腹いっぱい。
01/12/25 14:38ID:???Ruby は Perl のモジュールでも読み込めるようになったのかね。
0010出来るような...
01/12/25 14:39ID:???C は Perl のモジュールでも読み込めるようになったのかね。
0011名無しさん@お腹いっぱい。
01/12/25 14:39ID:???そっとしてやんなよ。荒れてんだよ、クリスマスだから。
0012名無しさん@お腹いっぱい。
01/12/25 14:39ID:???まさか公開しないなんて言わないよね?
0013名無しさん@お腹いっぱい。
01/12/25 14:40ID:???-------------------------終了--------------------------
0014名無しさん@お腹いっぱい。
01/12/25 14:46ID:???-------------------------再開--------------------------
0015名無しさん@お腹いっぱい。
01/12/25 14:51ID:qH/nvcoM実際問題として、query 切り出すだけだったらモジュール使う必要ないんだよね。
ヘッダ出力するのだって別にCGI.pm のお世話にならんでもいいだろうし。
CGI.pm だと、 mod_perl で動く可能性があるとか
それなりに色々メリットはあるんだけども。
0016名無しさん@お腹いっぱい。
01/12/25 14:58ID:rO3objig決まりきったルーチンを書くのが面倒。
実行速度よりも、おれがスクリプトを書く速度の方が大事(^^;
0017名無しさん@お腹いっぱい。
01/12/25 15:04ID:???決まり切っているのならコピペでいいじゃない。
0018名無しさん@お腹いっぱい。
01/12/25 15:28ID:qH/nvcoMif( $ENV{'REQUEST_METHOD'} eq "POST" ){
read( STDIN, $argv, $ENV{'CONTENT_LENGTH'} );
@pairs =split( /&/, $argv );
}elsif( $ENV{'REQUEST_METHOD'} eq "GET" ){
@pairs =split( /&/, $ENV{'QUERY_STRING'} );
}else{
@pairs =@ARGV;
}
foreach( @pairs ){
( $key, $value ) =split( /=/ );
$key =~tr/+/ /;
$key =~s/%([a-fA-F0-9][a-fA-F0-9])/pack( "C", hex( $1 ) )/eg;
$value =~tr/+/ /;
$value =~s/%([a-fA-F0-9][a-fA-F0-9])/pack( "C", hex( $1 ) )/eg;
# $key =Jcode->new( $key )->h2z->euc;
# $value =Jcode->new( $value )->h2z->euc;
$param{$name}=$value;
}
0019名無しさん@お腹いっぱい。
01/12/25 15:29ID:qH/nvcoMで、CGI.pm は遅いから、もうちょっと軽くて渋いのを作らんかねって話だよね。
0020名無しさん@お腹いっぱい。
01/12/25 15:37ID:Cl+vgUJI大崎氏のPerlメモによると
$value =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
のが速いらしい。
0021名無しさん@お腹いっぱい。
01/12/25 15:56ID:???0022名無しさん@お腹いっぱい。
01/12/25 16:29ID:???答え2で出てるんじゃん、OO辞めて展開して自分で組み合わせれば?
分からなかったらplの方が若干簡単かも
0023名無しさん@お腹いっぱい。
01/12/25 16:52ID:qH/nvcoM実際、フォームのデコードだけしかしないのに、
余計な部分が読みこまれるのがうっとおしいわけじゃない。
もっと中身がバラバラだったら必要なのだけ取り込めたのに。
ソースをリッピングすることなく。
use CGI::FormParser; とかさ。
なんで 210KB にもなるまで一個のファイルに詰め込んだのかしらん。
0024名無しさん@お腹いっぱい。
01/12/25 17:13ID:???実際、そこまで気になるなら、普通のBBS何かで使うならcgi-lib分解して適当に使った方が
ずっと軽くて良いんじゃない?
そんな使い方しかしてないのも良く有るし。。。
これは激しく出力内容が変わったり、仕様変更が頻繁になった時に強度が有る
って代物だから、書ききりだったらサブルーチンで十分と思う。
0025名無しさん@お腹いっぱい。
01/12/25 17:33ID:???ロードは確かに早い。
とはいえQUERY抽出だけを切り離したCGI::Queryは欲しいな。
誰か作るならPHASHベースきぼんぬ。
0026名無しさん@お腹いっぱい。
01/12/25 17:39ID:qH/nvcoMPHASH ってなんですか?
0027名無しさん@お腹いっぱい。
01/12/25 17:45ID:???つか
Reference to hash?
かなりてきとー
0028名無しさん@お腹いっぱい。
01/12/25 18:00ID:???0029名無しさん@お腹いっぱい。
01/12/25 18:14ID:qH/nvcoMhttp://www.melma.com/mag/85/m00014785/a00000004.html
で発見しました。
なるほどー。
$foo = [{foo=>1, bar=>2}, 'FOO','BAR'];
print $foo->[1]; # FOO
print $foo->{foo}; # FOO
print $foo->[2]; # BAR
print $foo->{bar}; # BAR
こんなのがあったなんてしらなかった....
0030名無しさん@お腹いっぱい。
01/12/25 20:09ID:rO3objig0031名無しさん@お腹いっぱい。
01/12/25 20:10ID:???お前等ゴミ屑は一体何の為に生きてるんだよ。
誰からも必要とされてないくせに偉そうな顔して
街を歩くなデブヲタの分際で。いい加減にしてくたばれよ。
0032名無しさん@お腹いっぱい。
01/12/25 20:12ID:???君達みたいなチンカスがこの地球上に存在してると思うだけでも反吐が出るんだよ。
早く死んでほしいんだよな。この文章を読んでいるゴミ屑ども、すぐに首を吊りなさい。お死になさい。生きてる価値無いんだから。
■ このスレッドは過去ログ倉庫に格納されています