トップページ⇒php
668コメント250KB

自作CGIを評価するスレ

■ このスレッドは過去ログ倉庫に格納されています
0001Premature end of script headers : /this/thread03/04/05 12:47ID:tIET0nhf
自分の作ったCGIをみんなに評価してもらうスレだよ。言語は問わないよ。
よほどプログラムが短くないかぎりはアプロダにでもアップしてね。
0133nobodyさん03/04/07 15:58ID:???
use vars使うのは反則?
0134nobodyさん03/04/07 16:14ID:???
ありじゃないの?
じゃなきゃそんなモジュール作らんよ。
0135nobodyさん03/04/07 18:46ID:???
>>133
使い方次第
0136nobodyさん03/04/07 22:42ID:???
localを使おう
0137 ◆YHmsETNOS2 03/04/08 16:35ID:???
すみませんがちょっと漏れのスクリプトを見てください。
ソートの練習なんです。
いちおう漏れの思っている動作しているのですが,突っ込むところがあれば,後学のために色々教えてください。

ソースはこちら,
ttp://members.tripod.co.jp/angeldayan/
使ったデータはこちら
ttp://members.tripod.co.jp/angeldayan/data.txt

要 cgi-lib.pl です。

たいしたものじゃなくてごめんなさい。
初心者なんで,これでも1週間かかっちゃったんです。
よろしくお願いします。
0138nobodyさん03/04/08 18:57ID:???
>>137
myとかの使い方覚えたほうがいいかも
まだはじめたばかりなのならPHPもいいかもよ

でスクリプトに関しては
ファイルをアップロードするわけでもないんだし
自前でデコードしよう。
0139 ◆IzdKJ.WAZA 03/04/08 19:02ID:???
>>137
漏れも挑戦してみていいかい?
0140 ◆IzdKJ.WAZA 03/04/08 19:45ID:???
疲れた。。とりあえずこんなん?
http://iwh11.hp.infoseek.co.jp/p/e/r/perldev/cgi-bin/upload/source/039.txt

PerlスクリプトなんでDOSから動かしてね
0141nobodyさん03/04/08 20:25ID:???
my, our でも変数のスコープは同じなんだけどなぁ。
varsプラグマ(v5.6以降だと our)を使うのは、
use strict 'vars'プラグマを有効にした時に、
複数のパッケージである変数を別のパッケージから使いたい場合、等。

no strict は、場合によっては反則 ...
0142nobodyさん03/04/08 23:45ID:???
そういえば、さっきmyとmyなしでベンチマークを行ったら
myの方が3,4倍遅かったのだけど…。メモリ消費は解らない。
01437103/04/09 03:32ID:???
自分の趣味でリファレンスを使ってソースを書いてみた・・・
cgi-lib使ったことないからあてずっぽうだけど、かなりソース書きなおす事になったねぇ

ttp://iwh15.hp.infoseek.co.jp/p/e/r/perldev/cgi-bin/upload/source/041.txt
01447103/04/09 03:33ID:???
>>143 8-9行目
if ($in{'rev'}){
my $script = 'http://' . $ENV{'SERVER_NAME'} . $ENV{'SCRIPT_NAME'};

ココ逆だな・・・

my $script = 'http://' . $ENV{'SERVER_NAME'} . $ENV{'SCRIPT_NAME'};
if ($in{'rev'}){
0145 ◆YHmsETNOS2 03/04/09 04:42ID:???
>>138
> myとかの使い方覚えたほうがいいかも
わかりました。勉強します。

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

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

>>144
うわぁ、ソースが綺麗でつ。
でも、動きません。。。。。
ローカルでは「ページを表示できません」で動きませんし、
サーバにあげてみた所、最初の画面は表示するものの、
情報のリンクのところが
http://サーバー名/$script?action=1&rev=1&n=0
って、$script そのままでつ。
結果は404でつ。
自分でも調べてみまつ。
01467103/04/09 04:57ID:???
>>145 動かしてないからねぇ(w
穴ありまくりであろうかと
0147nobodyさん03/04/09 09:53ID:???
> そういえば、さっきmyとmyなしでベンチマークを行ったら
> myの方が3,4倍遅かったのだけど…。メモリ消費は解らない。

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

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

use CGI qw(:cgi-bin);
01527103/04/10 06:41ID:???
>>151
自分で処理を書くもんでねぇ・・・
0153nobodyさん03/04/10 10:43ID:ljl/7aqx
ベンチマーク取って見たけど…明らかに 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,{
'Lexical' => sub {eval $code1},
'Dinamic' => sub {eval $code2}
});

----
Benchmark: timing 1000 iterations of Dinamic, Lexical...
Dinamic: 11 wallclock secs (10.60 usr + 0.00 sys = 10.60 CPU) @ 94.34/s (n=1000)
Lexical: 2 wallclock secs ( 2.14 usr + 0.00 sys = 2.14 CPU) @ 467.29/s (n=1000)
0154nobodyさん03/04/10 13:31ID:???
>>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
Benchmark: timing 5000 iterations of 1_my, 2_local...
1_my: 4 wallclock secs ( 4.45 usr + 0.00 sys = 4.45 CPU)
Global symbol "$code" requires explicit package name at (eval 5005) line 1.
2_local: 8 wallclock secs ( 7.75 usr + 0.00 sys = 7.75 CPU)

● Perl 5.005_03 on FreeBSD 4.8R
Benchmark: timing 10000 iterations of 1_my, 2_local...
1_my: 6 wallclock secs ( 5.62 usr + 0.01 sys = 5.62 CPU)
Global symbol "$code" requires explicit package name at (eval 10005) line 1.
2_local: 11 wallclock secs (10.92 usr + 0.02 sys = 10.94 CPU)

● Perl 5.8.0 on FreeBSD 4.8R
Benchmark: timing 10000 iterations of 1_my, 2_local...
1_my: 4 wallclock secs ( 4.74 usr + 0.00 sys = 4.74 CPU) @ 2108.73/s (n=10000)
2_local: 18 wallclock secs (17.20 usr + 0.00 sys = 17.20 CPU) @ 581.55/s (n=10000)
0155nobodyさん03/04/10 18:05ID:???
>>121

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


while ( defined ( my $line = <IN> ) ) {
# $lineは見える
} continue {
# 見える
}
# 見えない

こういう場合のスコープについては、その制御構文の最後までに限定される。←あいまいだな…
0156nobodyさん03/04/10 18:08ID:???
2行目が間違ってた。$aだとuse strictでエラーにならないから$ahoにしたんだけど、
これは、、sort用にこっそり、エラーにしないようになってるのかな。

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

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

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

ソースはこちら,
ttp://members.tripod.co.jp/angeldayan/test.txt
使ったデータはこちら
ttp://members.tripod.co.jp/angeldayan/data.txt

要 cgi-lib.pl です。

たいしたものじゃなくてごめんなさい。
01647103/04/12 22:26ID:???
>>163
登録データの件数が増えるのならば
sortの cmp と <=>のルーチンを考えたほうがいいかも
foreach(@keys){
if($_->[$n] !~ /^\d*$/){
$num_flug =1;
last;
}
}
データ量増えていくと、cmpを使う場合処理が遅くなる。

if($n= 4){
if($rev){
@keys = @keys[ sort {$keys[$b]->[$n] <=> $keys[$a]->[$n]} 0 .. $#keys ];
}else{
@keys = @keys[ sort {$keys[$a]->[$n] <=> $keys[$b]->[$n]} 0 .. $#keys ];
}
}else{
if($rev){
@keys = @keys[ sort {$keys[$b]->[$n] cmp $keys[$a]->[$n]} 0 .. $#keys ];
}else{
@keys = @keys[ sort {$keys[$a]->[$n] cmp $keys[$b]->[$n]} 0 .. $#keys ];
}
}
みたいな感じかになろうか・・・
01657103/04/12 22:31ID:???
>>164
if($n= 3){
だな、このデータの場合
0166nobodyさん03/04/12 22:53ID:???
=なんですか?
01677103/04/12 23:00ID:???
>>166
==だね(汗
0168nobodyさん03/04/12 23:21ID:???
>>163
途中でダレたからかなり適当ですがいぢってみますた。
http://boobar.hp.infoseek.co.jp/refactoring/test.txt
0169 ◆YHmsETNOS2 03/04/13 04:43ID:???
>>164-168
さんくすでつ!

> データ量増えていくと、cmpを使う場合処理が遅くなる。
初耳でつ メモメモ 〆(・_・。)

>>168
全面的に書き換えてくださり、ありがとうございまつ!
感謝でつ!
乙でつ!
さっそくテストしてみまつた!
おー、動いているー。。 あれ(?_?)
データ件数は88くらいあるはずなのに、80までしか表示されない。。。
でもがんばってスクリプト読み下して自分で修正したいと重い松。
01707103/04/13 04:47ID:???
>>169
初耳じゃなくて、そういうソースを組んでたから
指摘したまでなんだけど・・・
ソースちゃんと理解出来てますか??(o_ _)o
0171 ◆YHmsETNOS2 03/04/13 04:54ID:???
>>170
> ソースちゃんと理解出来てますか
自分の>>163のソースは理解してまつ。
>>168さまのは、現在格闘中でつ。
苦戦しておりまつ。
01727103/04/13 04:57ID:???
>>171では、

foreach(@keys){
if($_->[$n] !~ /^\d*$/){
$num_flug =1;
last;
}
}
lココの部分がどういう処理をしてたか説明してみそ
0173 ◆YHmsETNOS2 03/04/13 05:07ID:???
foreach(@keys){  # @keysをforeachして

if($_->[$n] !~ /^\d*$/){ # $_の$n番目の値が数字ではなかったら、

$num_flug =1;  # $num_flugに1を入れまつ

last; # foreachのループ抜けまつ

}  #  ifを閉じまつ
}  #  foreachを閉じまつ

これでいいでつか?
0174 ◆YHmsETNOS2 03/04/13 05:15ID:???
sortの cmp と <=> のどちらでやるかのフラグを立てているところっていったほうが良かったんでつか?
0175 ◆YHmsETNOS2 03/04/13 05:30ID:???
>>168
修正できましたぁ〜!

$lastpage++ unless @Record % $Pageview;

を

$lastpage++ if @Record % $Pageview;
0176nobodyさん03/04/13 05:31ID:???
俺敵には

>>169
>> データ量増えていくと、cmpを使う場合処理が遅くなる。
>初耳でつ メモメモ 〆(・_・。)

から、どうして

>>170
>初耳じゃなくて、そういうソースを組んでたから
>指摘したまでなんだけど・・・

のようなレスが付くのか良く分かりません。
cmp使うのが初耳だったんでしょ?なんで「初耳じゃなくて」なんだろう?
0177nobodyさん03/04/13 05:32ID:???
×cmp使うのが初耳だったんでしょ?
○cmp使うと遅くなるっていうのが初耳だったんでしょ?
01787103/04/13 05:32ID:???
>>173
つまり、該当データが文字列ばっかりだとループ終わるまで抜けない。
-> 次の処理にいくまで時間がかかるという事で cmp処理のときに時間がかかるという理屈。
01797103/04/13 05:35ID:???
>>176そのソース私の奴改造してるから聞いてみたのだけど変ですか?

ところで、ソース組んだんだけどどっかアップしやすい所無いかのぉ
0180 ◆YHmsETNOS2 03/04/13 05:53ID:???
>>178
あっ!
そういう意味だったんでつね。。。. (^^ゞ
んじゃ、メモを。。。消し消し. _□(. .。
01817103/04/13 06:00ID:???
んで、件のソースの改造

ttp://kiteline.net/imgbbs/img/137.txt

この規模だと分ける意味がないとおもうんだけど・・・
0182nobodyさん03/04/13 06:09ID:???
>>178
ああ、そういう意味か。てっきりcmpと<=>の違いを言ってるのかと思った。スマソ
0183 ◆YHmsETNOS2 03/04/13 06:35ID:???
>>181
改造さんくすでつ!
でも、穴が多いッスね。
次のページを押し続けれないし、
前のページが表示されないし、
順番が0-9の固定だし。。。
勉強のため漏れが修正したいと重い松が。。。

>>181さんの目から見て、>>168さんのソートは処理が重そうでつか?
>>168さんのソースは今まで漏れが出会ったことのない書き方だからちょっと苦戦しておりまつ。

おっと、>>168さんのソース、逆順ソートが出来ない。。。
あう〜
こちらも漏れが修正したいと重い松。
0184 ◆YHmsETNOS2 03/04/13 06:51ID:???
>>168
逆順ソートが出来ない件、修正しましたが。。。

$TableHeader .= qq|\t<th><a href="| . make_url(n => $_, action => 1) . qq|">$field{$_}</a></th>\n|
for sort { $a <=> $b } keys %field;

を

if ($Param{'rev'}){
$TableHeader .= qq|\t<th><a href="| . make_url(n => $_, action => 1,rev => 0) . qq|">$field{$_}</a></th>\n|
for sort { $a <=> $b } keys %field;
}else{
$TableHeader .= qq|\t<th><a href="| . make_url(n => $_, action => 1,rev => 1) . qq|">$field{$_}</a></th>\n|
for sort { $a <=> $b } keys %field;
}

っていうのにしましたが、もっと簡単になりまつか?
01857103/04/13 06:58ID:???
>>183
別にいい悪いはないと思いますけどね。
どんな記述も出来るのがperlですし・・・
自分が見やすければいいんじゃないでしょうか?

あと、自分的には不要な変数を極力使わないぐらいですか・・・
0186nobodyさん03/04/13 07:34ID:???
>>184
なんだこりゃ?
$TableHeader .= qq|\t<th><a href="| . make_url(n => $_, action => 1,rev => ($Param{'rev'} ? 0 : 1)) . qq|">$field{$_}</a></th>\n|
for sort { $a <=> $b } keys %field;
だろ?
0187 ◆YHmsETNOS2 03/04/13 07:57ID:???
>>186
サンクス!
こういう書き方は初めてなんで、かなり苦戦しておりまつ。
0188nobodyさん03/04/13 16:20ID:???
なんでこのスレでつまつが多いの
聞いてて疲れる
0189nobodyさん03/04/13 17:03ID:???
poster は前田利家なのであろう。
019016803/04/13 20:14ID:???
>>183
直した。
http://boobar.hp.infoseek.co.jp/refactoring/test.0.0.2.txt

文法的に分からんトコは、駱駝本なり perldoc なり見てね。
「何でこういう処理が必要なのか分からない」ってトコは聞いて。
0191 ◆YHmsETNOS2 03/04/14 04:43ID:???
>>190
う〜、感涙!
実際、かなり省略した書き方なので、文法的にわかんないところばっかりでつ。
だからどんな処理をしているのかわかんなかったりして…(^^;

でも、がんばって自分で読み下して理解しまつ。
コメント文の多さに助かってまつ。
これからもご指導ご鞭撻のほどよろしくおながいしまつ。


>>188
あいた〜
苦情でつ!
このスレででつまつ使ってるのって漏れだけでつ〜
こういうの使ってみたい年頃なんでつ〜
(゙ `-´)/ ヤメレ! って言う声が多ければ考えまつ。
0192nobodyさん03/04/14 05:17ID:???
まあほどほどにな。
0193 ◆YHmsETNOS2 03/04/16 05:35ID:???
>>190
漏れの思っている動作は、
各Info ボタンを押すと昇順にも降順にもなる。
この際順番(ここではOrder)昇順なら小さい方から1、降順なら大きい方から1がいいんでつ。
でも>>190様、直さないでくださいね。
漏れがやるんでつ。

あと。。。
my @Field = qw(Info1 Info2 Info3 Info4);
っていう所。

my @Field = qw{Info1 Info2 Info3 Info4};
my @Field = qw|Info1 Info2 Info3 Info4|;
my @Field = qw(Info1 Info2 Info3 Info4(;
my @Field = qw)Info1 Info2 Info3 Info4);
my @Field = qw(Info1 Info2 Info3 Info4);
my @Field = qw\Info1 Info2 Info3 Info4\;
なんでもいいんでつね。
勉強になりまつた。

でも、
my @Field = qw(Info1 Info2 Info3 Info4);
で良くて、
my @Field = qw)Info1 Info2 Info3 Info4(;
でダメなのは納得いかなかったりして。。。(汗)





0194山崎渉03/04/17 12:07ID:???
(^^)
0195マリモーマ ◆r6PDGT6Xd2 03/04/18 17:28ID:fPIUuruF
こんなの作ったけど どうよ?
http://ebrain21.com/~game/me/mai.cgi
0196nobodyさん03/04/18 17:33ID:???
>>195
Internal Server Error が出たぞ
0197nobodyさん03/04/18 17:35ID:BrkP32Ds
一度ゴールすると次回からアクセスするたびに(ry
0198マリモーマ ◆r6PDGT6Xd2 03/04/18 19:34ID:fPIUuruF
なんでだろうね 誰か直してよ(藁)
0199nobodyさん03/04/18 21:18ID:???
マリモーマ、、リア厨かと思ってたらもっと年取ってた。爆
0200マリモーマ ◆r6PDGT6Xd2 03/04/19 13:29ID:kAGW5QYq
若いのは年齢だけだよ もう体がたがた そろそろプログラムも
できなくなるかも?
0201nobodyさん03/04/20 00:47ID:???
もーちょっとデザインなんとかならんのかね・・・
掲示板、見にく(ry
0202nobodyさん03/04/20 04:29ID:???
でも俺より若い
0203山崎渉03/04/20 05:59ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0204マリモーマ ◆r6PDGT6Xd2 03/04/20 10:12ID:xM5Zwmt0
>>201
∧_∧
(  ^^ )<じゃ どうすればいい?(^^)
0205nobodyさん03/04/20 12:05ID:???
>>204
なんとかすればいい
0206nobodyさん03/04/20 12:21ID:???
>>205
ワロタ
0207マリモーマ ◆r6PDGT6Xd2 03/04/20 15:05ID:xM5Zwmt0
>>205
(O_O) うう〜〜 わからないよ
0208nobodyさん03/04/20 16:04ID:???
しねや
0209nobodyさん03/04/21 09:41ID:???
>>207
・・・・とりあえず、他の掲示板とか見て回れ。
他の掲示板とか見たことあるだろ?
無駄なテーブル使いすぎ。
もっと、シンプルでいいと思うが・・・
それと、掲示板CGIの吐いてるHTML見たが・・・
HTML、間違ってないか???
改行ナシの、汚いHTMLでちゃんと読めんかったが・・・。
もうひとつ。
ひとつDLさせてもらってソース見たが・・・
謎な関数の名前ばかり。
関数作る悪い例として、そのまま本とかで出てきそうなのばかり。
後から拡張とかする時、関数の名前見ただけで、
どんな処理してくれる物か、判別できなくなる。

・・・と、いろいろつっこむ所多いが・・・
物自体は、結構良い物だと思う。
・・・たぶん。・・・きっと。 ・・・かもしれない。 ・・・だといいな。
0210マリモーマ ◆r6PDGT6Xd2 03/04/21 17:08ID:CNsFsGAe
>>209
なるほど 参考にするよ ありがとう
0211nobodyさん03/04/24 04:27ID:???
ども。ちょっとスレ違いかもしれないけど、お邪魔します。
CGIじゃないんだけど、Perlスクリプト内のコメントを削除するスクリプトを作りました。
使い方は、同封してるテキスト読んでも分かるけど、D&DでOKな、結構便利な感じです。

http://isweb25.infoseek.co.jp/computer/pcqa-2ch/cgi-bin/img/997.lzh

評価お願いします。
また、改造してくれてアップしてくれる人は、
それ見て勉強したいと思いますのでお願いします。
0212bloom03/04/24 04:29ID:vV02vP1k
http://homepage.mac.com/ayaya16/
0213マリモーマ ◆r6PDGT6Xd2 03/04/24 05:40ID:0xA64jQF
>>211
コメントが 笑った  あと 抜いた行の 下の行を 上げたほうがいいかも
0214マリモーマ ◆r6PDGT6Xd2 03/04/24 05:49ID:0xA64jQF
あ やっぱり 「抜いた行の下を上げますか」と 聞いてきた方が
いいかな?
0215nobodyさん03/04/24 05:53ID:x2ip/9xn
http://homepage3.nifty.com/coco-nut/
0216動画直リン03/04/24 06:29ID:vV02vP1k
http://homepage.mac.com/hitomi18/
021721103/04/24 07:25ID:???
>>213
>>214
ご感想、ありがとうございます。
そういう事で、少し改造してみました。
改行を消すかどうか、質問されるようになりました。

http://isweb25.infoseek.co.jp/computer/pcqa-2ch/cgi-bin/img/998.lzh

もし、どなたでも改造したら、できればアップしてくださいね。
021821103/04/24 07:49ID:???
・・・と、言う訳で、またバグを見つけました・・・
HTML出力してて、色指定で#を使ってたら、それ以降が削られてました。。。

http://isweb25.infoseek.co.jp/computer/pcqa-2ch/cgi-bin/img/999.lzh

・・・今度こそ・・・
0219bloom03/04/24 08:29ID:vV02vP1k
http://homepage.mac.com/ayaya16/
0220nobodyさん03/04/24 10:23ID:???
分かち書き、変
0221マリモーマ ◆r6PDGT6Xd2 03/04/24 16:32ID:0xA64jQF
$a =~ s/#//g; としたら 消えた まあ これは実行したら エラーが出ると思うけど
0222nobodyさん03/04/24 16:38ID:???
このコメント削除スクリプトはどんな役に立つんだぎゃ?
0223nobodyさん03/04/24 16:48ID:???
ttp://isweb25.infoseek.co.jp/computer/pcqa-2ch/cgi-bin/img/1003.zip
実は211のやつ見て無いんだが
書いて見たよ
先頭のタブとかは消さないようにした
一応自分の書いたスクリプトではきれいに
コメント部は消えた模様
022422303/04/24 16:52ID:???
書いてから211の試したんだが
漏れの書いたスクリプトでは
誤作動しまくりだ
$hoge = '#000000';#hogehoge-
こういうのが
$hoge = '
になってるよ
022522303/04/24 16:53ID:???
漏れの書いたスクリプトを 211ので処理すると
ってことね
022621103/04/24 17:06ID:???
>>222
このコメント削除スクリプトは・・・
PerlでCGIをつくって、サーバに上げる時、
ソース内のコメント部分のファイルサイズが無駄なので作りました。
ちなみに、俺のCGIファイルで、23kあったのが、16kにまで落ちました。
自分のパソコン内で走らせるスクリプトなどについては・・・
コメント削除するメリットはありません。

>>225
どもども。
そう、後から気付いたんです。
シングルクォートで囲まれた#まで削ってしまうって・・・
これと言って、手がってもらえないので、自分のだけ修正してアップしてませんでした(ワラ

http://isweb25.infoseek.co.jp/computer/pcqa-2ch/cgi-bin/img/1004.lzh

これでどうです?
また一歩まともに近づいてるはずです。
>>223のソース、見せてもらいますね。
022722303/04/24 17:11ID:???
>>222
意味は無いよ
コンパイル速度も変わらんしね
ただimgboard.cgiとかむかつくようなコメントが
たくさん載ってるやつには有効だ(ぷ
210KB→160KBになったよ
まぁ漏れ的には容量はどうでもいいが
うざすぎるコメント消すのが面白そうだったからなw
022822303/04/24 17:13ID:???
>>226
それをimgboard.cgiで試したんだが
コンパイルエラーするよ
容量的には漏れより小さくなってるんだが
余計なところまで消しすぎでは?
022921103/04/24 17:21ID:???
>>228
マジっすか!
なに消してるんだろ・・・
消しちゃいけない所、特定できません?
imgboard.cgiですか・・・
探してDLして、ためしてみます。

ちなみに、>>223の削除スクリプト試させてもらいました。
先頭にタブとかがあってのコメントは削除されない仕様ですね。
俺のは、とにかくコメントだと思われるような所は、すべて排除していく仕様なので・・・
失敗したら、文法エラーとかコンパイルエラーとか出ます。
って事で、どこで削除されたらいけない所が削除されてるのか調べてみます。
ありがとうございます。
023022303/04/24 17:51ID:???
ttp://isweb25.infoseek.co.jp/computer/pcqa-2ch/cgi-bin/img/1005.zip
一箇所だけ修正
まぁ 文法一切見て無いので
バグいろいろあるんだが
直す気もないので
終了。
製作時間2分+30秒ですた。

imgboardはimgboard.cgiでぐぐると一番上にでてくるよ
023122303/04/24 17:53ID:???
>>229
先頭にタブがあっても消えるはずだが
\t\t$hoge = 'hoge';#これはほげです
が
\t\t$hoge = 'hoge';
になるだけ 先頭のスペースやタブは削除しないってこと
7行プログラミングするわけでも無いしね
0232nobodyさん03/04/24 18:00ID:???
確かにimgboardのコメントはなんか
むかつくところがあるな
■ このスレッドは過去ログ倉庫に格納されています