自作CGIを評価するスレ (672レス)
1-

145
(1): ◆YHmsETNOS2 03/04/09 04:42 ID:??? AAS
>>138
> myとかの使い方覚えたほうがいいかも
わかりました。勉強します。

> PHPもいいかもよ
perlと心中しまつ。

> ファイルをアップロードするわけでもないんだし
いやいや、今後画像をあぷすて貼り付けるつもりなので。。。
いつになるかわかりませんが。。。。。

>>144
うわぁ、ソースが綺麗でつ。
省8
146
(1): 71 03/04/09 04:57 ID:??? AAS
>>145 動かしてないからねぇ(w
穴ありまくりであろうかと
147: 03/04/09 09:53 ID:??? AAS
> そういえば、さっきmyとmyなしでベンチマークを行ったら
> myの方が3,4倍遅かったのだけど…。メモリ消費は解らない。

根拠を示さずに結果だけ取り出して言われても…。誤解されないかな?
my の何のベンチマークを行なったの?
ループ・ブロック内で変数を宣言して、そのオーバーヘッドを測っていた
なんて事はないよね?それとも、ホントに変数の参照・代入が3〜4倍もかかったりした?
148: 03/04/09 10:12 ID:??? AAS
>>142
myのほうが遅いというのはちょっと信じがたいな。
ブロック外から参照される必要がないからシンボルテーブルにも
登録されないし、むしろ速くなるはずだが・・・
149
(1): ◆YHmsETNOS2 03/04/10 04:22 ID:??? AAS
>>146
$html =<<'EOT'; を $html =<<"EOT"; でOKでした。

なお、ローカルで動かない件は、cgi-lib.pl へのパスが違っていたというアフォが原因。
150: 71 03/04/10 05:35 ID:??? AAS
>>149
シングルクオートよくやっちゃうんですよ〜(w
動いてよかったです
151
(1): 03/04/10 06:38 ID:??? AAS
cgi-bin.pl って
確か、CGI.pmがサポートしてたはず・・・
標準モジュールだよ。

use CGI qw(:cgi-bin);
152: 71 03/04/10 06:41 ID:??? AAS
>>151
自分で処理を書くもんでねぇ・・・
153
(1): 03/04/10 10:43 ID:ljl/7aqx(1/2) AAS
ベンチマーク取って見たけど…明らかに my を使った方が高速。
-w と use strict 外して my も何も付けない場合とか、
our も試して見たけど。速度的には my < our < local って順番だったよ。

#! perl -w
use strict;
use Benchmark qw(:all);
my $count = 100;
my $code1="my \$code=1;"; map{$code1 .= "\$code++;\n"}(1..$count);
my $code2="local \$code=1;"; map {$code2 .= "\$code++;\n"}(1..$count);

timethese(1000,{
省7
154: 03/04/10 13:31 ID:??? AAS
>>153
追試。

--- bench ---
use strict; use Benchmark;
my $loop = 5000;
my $code1 = 'my $code = 1;' . '$code++;' x 100;
my $code2 = 'local $code = 1;' . '$code++;' x 100;
timethese($loop, { '1_my' => sub { eval $code1 }, '2_local' => sub { eval $code2 } });
---

● ActivePerl Build 522 on Win98SE
省13
155
(1): 03/04/10 18:05 ID:??? AAS
>>121

if ( ( my $aho = $query->param('hogehoge') ) eq 'hoge') {
 $a =~ s/a/b/;
 $nazoflag .= $a;
} else {
# $ahoは見える。
}
# $ahoは見えない。

while ( defined ( my $line = <IN> ) ) {
# $lineは見える
省5
156: 03/04/10 18:08 ID:??? AAS
2行目が間違ってた。$aだとuse strictでエラーにならないから$ahoにしたんだけど、
これは、、sort用にこっそり、エラーにしないようになってるのかな。

追加、これはなかなか使える
foreach my $hoge (@list) {
}
157: 03/04/10 18:36 ID:ljl/7aqx(2/2) AAS
>>155
質問。continue って何?
158: 03/04/10 18:58 ID:??? AAS
man perlsyn
159: 03/04/10 20:47 ID:??? AAS
”次のループに移る前に実行されるブロック”であってる?
こんな制御構文あったんだ。知らなかった。Thx >> 158
160: 03/04/10 20:58 ID:??? AAS
うん。これは、nextとかを使うとき、行番号が確実に進むようにする、みたいに使う
161: ◆MvRbZL6NeQ 03/04/11 00:23 ID:??? AAS
なるほど
162: [ ] 03/04/11 00:36 ID:??? AAS
つまりはforの後処理か
163
(3): ◆YHmsETNOS2 03/04/12 20:17 ID:??? AAS
再び。。。

すみませんがちょっと漏れのスクリプトを見てください。
前回のソートの練習に加え、ページの分割もしてみますた。
いちおう漏れの思っている動作しているのですが,突っ込むところがあれば,後学のために色々教えてください。

なお、前回指摘された “myとかの使い方” は。。。。。(^^A

ソースはこちら,
外部リンク[txt]:members.tripod.co.jp
使ったデータはこちら
外部リンク[txt]:members.tripod.co.jp

要 cgi-lib.pl です。
省1
164
(2): 71 03/04/12 22:26 ID:??? AAS
>>163
登録データの件数が増えるのならば
sortの cmp と <=>のルーチンを考えたほうがいいかも
foreach(@keys){
if($_->[$n] !~ /^\d*$/){
$num_flug =1;
last;
}
}
データ量増えていくと、cmpを使う場合処理が遅くなる。
省14
1-
あと 508 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.255s*