もっと軽くて渋い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:???君達みたいなチンカスがこの地球上に存在してると思うだけでも反吐が出るんだよ。
早く死んでほしいんだよな。この文章を読んでいるゴミ屑ども、すぐに首を吊りなさい。お死になさい。生きてる価値無いんだから。
0033名無しさん@お腹いっぱい。
01/12/25 20:13ID:???0034名無しさん@お腹いっぱい。
01/12/25 20:14ID:???気にせず行きましょう。
0035名無しさん@お腹いっぱい。
01/12/25 23:26ID:???Perl6で無くなるんだっけ?
でも利点が多いんで使いたいのだ。
・ただのハッシュよりはコンパクト
・条件付で高速なアクセス
・フィールド継承のサポート
0036名無しさん@お腹いっぱい。
01/12/26 00:31ID:RrkKaZX3sub get_full_query {
my $self = shift;
my $str = "";
$ENV{CONTENT_LENGTH} and read(STDIN, $str, $ENV{CONTENT_LENGTH});
$ENV{QUERY_STRING} and $str .= $ENV{QUERY_STRING};
my $query;
for (split /&/, $str) {
my ($name, $value) = map $self->url_decode($_), split /=/, $_;
push @{$$query{$name}}, $value;
}
$self->{_query} = $query;
}
sub url_decode {
my $self = shift;
my $part = shift;
$part =~ tr/+/ /;
$part =~ s/%([0-9A-Fa-f]{2})/pack("c", hex($1))/ges;
$part;
}
0037名無しさん@お腹いっぱい。
01/12/26 00:53ID:???0038名無しさん@お腹いっぱい。
01/12/26 08:58ID:???CGI::Minimalとかどうよ?
漏れは使ったこと無いが。
0039名無しさん@お腹いっぱい。
01/12/26 13:16ID:0snM5bma使える機能
・フォームのデコード
・アップロードの処理
・url エンコード・デコード
・< とか > とか & のエスケープ、
・RFC1123形式の時間表示
シンプルでよさげ。
クッキー周りを自分で書くなら、これいいかも。
0040名無しさん@お腹いっぱい。
01/12/27 02:14ID:???CGI->fileprint("FormName");
みたいに出来ないと精神的にかなり嫌だ
0041ダメ男
01/12/29 04:16ID:3B5IEZRjこれのほうが速くない?
0042a
02/08/13 10:12ID:???-checked=>'checked', # この行
-value=>'on',
-label=>'Turn me on');
とやると
<input type="checkbox" name="checkbox_name" value="on" checked>
みたいになるけど デフォルトでcheckedさせないようにするにはどうすればいいのかな?
#つまりは
-checked=>'checked',
#この行があってもなくてもデフォルトでcheckedになってしまうのでそれを何
#とかしたい
0043nobodyさん
02/08/13 10:37ID:???0044nobodyさん
02/08/13 13:19ID:???0045山崎渉
03/01/15 13:51ID:???0046山崎渉
03/03/13 17:48ID:???0047nobodyさん
03/03/21 18:05ID:pOguTMzc0048nobodyさん
03/03/21 22:32ID:???0050nobodyさん
03/03/21 23:48ID:???0051nobodyさん
03/03/21 23:48ID:???strictなコードで書いてほしい・・・
cgi-lib.plと同じじゃないかそれじゃ
といっても最近はCGI.pm使うようになっちゃったからなぁ
無用だね
0052nobodyさん
03/03/21 23:56ID:???Cookieの送受信に便利なPerlライブラリ
泣けるなぁ・・
0053nobodyさん
03/03/22 10:52ID:WPdkGWdU0054nobodyさん
03/03/22 13:59ID:35k142Il0055nobodyさん
03/03/22 16:35ID:???0056nobodyさん
03/03/22 18:57ID:???http://bulknews.net/lib/slides/perl-ruby-con2000/
0057山崎渉
03/04/17 12:12ID:???0058山崎渉
03/04/20 06:21ID:???( ^^ )< ぬるぽ(^^)
0059山崎渉
03/05/22 02:21ID:???0060山崎渉
03/05/28 17:09ID:???ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0061山崎 渉
03/07/15 11:25ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0062山崎 渉
03/08/02 02:28ID:???( ^^ )< ぬるぽ(^^)
0063ぼるじょあ ◆ySd1dMH5Gk
03/08/02 05:01ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0064山崎 渉
03/08/15 23:28ID:???│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0065名無し募集中。。。
04/06/13 20:24ID:???. ||
. ||
. ☆ノハヽθ ______
||ノノ*^ー^) アーテステス (:::) ./|
|| / つと ||||. ./ . |
|二 / [] .  ̄ . / /
| ̄ ̄ ̄ ̄ ̄ ̄| . /
|______|/
0066名無し募集中。。。
04/06/13 20:25ID:???. Y ̄ ̄⌒⌒⌒⌒ ̄ ̄~`ヽ
\\※※※※※※※ \
. .\\※※※※※※※ \
\\※※ 〆〃ハハ 〜♪
\ヽ γ∬∬´▽`)※ . \
. ヽ(~~~~~~∪~~∪~~~~~~~~)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
____
. / / | | \ アーテステス… /
|二二| | | ww
. \ \ | | ____./
| ̄ ̄ ̄ ̄ ̄ ̄| |囲 = 囲|
 ̄ ̄ ̄ ̄
0067名無し募集中。。。
04/06/13 20:25ID:???. ☆ノハヽ ヨシ!!
. ノノ*^ー^) ||| |◎▼
/ つと ( 99 ::)
⊂_)__) ( [] )))
.  ̄ ̄ ̄
0068名無し募集中。。。
04/06/13 20:26ID:???||◎▼☆ノハヽ シュッパーツ!!
( 99 ノノ*^ー^)o
( [] ))) /
. . ̄ ̄ ̄ u─u
0069名無し募集中。。。
04/06/13 20:26ID:???;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,___,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;__, . | □ |;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;□| | |___| □ |__|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;| |[]| || □ | |;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/ \;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/ \;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/ \;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/ . \;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;/ |||◎◎/ \;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;/ . (======) トオイ… . \;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;/ (___)] . \;;;;;;;;;;;;;;;
;;;;;;;;/ u─u \;;;;;;;;
0070名無し募集中。。。
04/06/13 20:32ID:???||◎▼☆ノハヽ ハイ、ミカンデス . . ノノハヽ ナンデウチシッテンノ…
( 99 ノノ*^ー^) (VvV;从_
( [] ))), つ(::::) ~~~-⊂ ,-、)/
. . ̄ ̄ ̄ u─u . (つ し' /
0071名無し募集中。。。
04/06/13 20:32ID:???| . | | |
──|── . | / ̄| ̄\ | |
| |/ .| | . .| |
\ . __|__/.. . ...| |
\ . \ / . . 〇 〇. /
\ . . /
\ キイテル?ヤッホー!! ./
\ エリノホウガカワry ./
ww . . oノハヽo ビックリシタノ…
. 山 Σ(・ 。.・*;从
| ̄|| ̄ ̄|| ̄| / つつ
|◎||■--||◎| ヽ_)_)´
.  ̄ . ̄ ̄ . ̄
0072名無し募集中。。。
04/06/13 20:33ID:???. ドッカ〜ン!!
. . γ''⌒⌒⌒ヽ
(⌒;;;;⌒ ;;;;; ⌒)
. ( (⌒;;;;; );;;;;) oノハヽo
(;;;;( ;;;;; ) ) (・ 。.・+从
( (;;;;;;; ;;;;; ) ;;;;;.) . /. 0T0 ガシャ!!
. `ゞ 、,,;; ;;;;; ;;;,,ノ''" u─| ̄|
0073名無し募集中。。。
04/06/13 20:33ID:???. | . ;;;;;;;;;;;| . . . .| ;;;;|
. | ;;;;;;;;;;| . . ハロプロショップ . | ;;;;|
. | . ;;;;;;;;;;;|. . . . | ;;;;|
. | ;;;;;;;;;;| ________ | き ;;;;;|
. | . ;;;;;;;;;;;| || . | .|| .| みて ;;;;;|
. | ;;;;;;;;;;| || . | .|| .|. た /|
. | ;/| || 0|0ノハヽ☆ . . |. で /;;;;|
. | . / ;;;;| || ノノノヘ(^ー^*从||. |. / ...└─
_____|/. |.._.._||_(゜皿 ゜ 川 )_||____|/
( つ
ヽ/ /
. . (___/J
0074nobodyさん
04/06/21 23:15ID:???0075電脳プリオン
04/07/19 17:58ID:???0076nobodyさん
04/07/27 20:09ID:???/ i
/ , . |
| JVし __,,..-一、 | __
L__ _,,...ニァT ||::::::::::::| / ,.‐'´/
| |_>ー<___/ |. lj:::::::::∠-一´/ /
`/___,..-ニ',7 T´,.-‐'´ / _,./..,すぐにあの世に送ってやるぜ
'┬─'´ // _/:ヽ‐ニー--‐シ' ̄ \
|l___///:::::::::::::::/i. |l |
``ニ- ´i':::::::::::::::::/ |l. |
0077nobodyさん
04/07/29 01:53ID:???http://www.nihongo.org/snowhare/utilities/modules/cgi-minimal/
CGI.pm (3.05) via standard CGI - 16 fetches per second
CGI::Simple (0.075) via standard CGI - 20 fetches per second
CGI::Deurl (1.08) via standard CGI - 36 fetches per second
CGI::Thin (0.52) via standard CGI - 38 fetches per second
CGI::Lite (2.02) via standard CGI - 52 fetches per second
CGI::Minimal (1.16, :preload) via standard CGI - 52 fetches per second
CGI::Minimal (1.16) via standard CGI - 66 fetches per second
cgi-lib.pl (2.18) via standard CGI - 71 fetches per second
null Perl script via standard CGI - 103 fetches per second
null C program via standard CGI - 174 fetches per second
CGI::Simple (0.075) via mod_perl - 381 fetches per second
CGI.pm (3.05) via mod_perl - 386 fetches per second
CGI::Minimal (1.16) via mod_perl - 417 fetches per second
null Perl script via mod_perl - 500 fetches per second
0079nobodyさん
2006/02/20(月) 21:24:49ID:???都合悪くなるとすぐ CGI::Minimal なんだからw
ここに声高らかに宣言する。
釣れた
と(´゚c_,゚` )
008078
2006/02/21(火) 02:00:38ID:eNvBOK6K悪いがちょっと意味わからんので説明してくれ・・・
何につられたのかもようわからんw
0081はろー
2011/05/18(水) 10:24:10.16ID:???0082nobodyさん
2011/05/18(水) 10:24:53.17ID:???■ このスレッドは過去ログ倉庫に格納されています