自作CGIを評価するスレ (672レス)
1-
抽出解除 レス栞

71
(31): 03/04/06 04:34 ID:??? AAS
>>70
余りいい設計じゃないなぁ・・・
subは位置に依存しないものであるべき
75
(2): 03/04/06 04:48 ID:??? AAS
>>71
激しく意味不明なやつになっちまったけど

sub saitama{
my ($value,$saitama,$hoge);
 foreach $value (@_){
  ($saitama,$hoge) = split(/,/,$value);
  if($saitama == $hoge){ return 1; }
 }
 return 0;
}
省1
78: 71 03/04/06 04:55 ID:??? AAS
AA省
80: 71 03/04/06 05:03 ID:??? AAS
まぁ、書き捨てにするか後から見やすく書くかのレベルになる罠(w
86: 71 03/04/06 05:13 ID:??? AAS
>>84
まぁ、別に好きなように書けばいいんだけど、
グローバル変数の値をサブルーチンから出力することもあるし・・・
それ以前に、どのレベルで言ってるかつーのが気になる所かもなぁ

ちなみにgotoは使わないよ。必要ないから(w
89
(1): 71 03/04/06 05:21 ID:??? AAS
>>87習慣づけしとけばスパゲッティなソースにはなりにくいのが作れると思うけどねん

returnは複数付けるのが一般的らしいな、覚えとこう
93
(1): 71 [sage あっちでは251(w] 03/04/06 05:31 ID:??? AAS
>>91 
慣れてない時は単純な処理にでもサブルーチンは作ってたけど、
今は、機能ごとにサブルーチンを作ってるって感じですね
同じ処理でも規模がおっきくないとそのまま書きなぐりすることがおおいです
95: 71 [sage あっちでは251(w] 03/04/06 05:35 ID:??? AAS
>>92
@error =(
 err1,
err2,
);

$error[$code];

みたいなことを最近よくするな(w
102: 71 03/04/06 05:48 ID:??? AAS
基本的にエラーメッセージって書かないなぁ(ぉ
規定外の値だとデフォルト値になるようにしてるなぁ
105: 71 03/04/06 06:17 ID:??? AAS
my $mini_cgi = './mini.pl';
my $cntfile = './count.dat';
my $log_dir = './logs';
our $lock_name = 'lock';
<中略>
my $t_h_width = 0;
my $t_f_width = 70;
my $name_size = $name_max - 4;
my $title_size = $text_cols;

この部分って全部グローバルだからourになっちゃうよん
省8
118
(1): 03/04/06 10:45 ID:??? AAS
書き方まずかったかな?
>>71はブロックの外で宣言すると、例えばサブルーチンの中からでも参照できてしまうので
変数宣言する時は、スコープを絞って適切なブロック内で宣言しよう…と言っているのだと思う。
修正というか、むしろ改悪されえてるような・・・。
our にしてしまうと、他のファイルからも値を参照出来る様になってしまうので、

# つっこみたかったのは、
# > この部分って全部グローバルだからourになっちゃうよん
# my で宣言してるのに勝手に our にはならないよー。ってこと。

よくある方法だと、main関数(サブルーチン)を作るか、
単にブロックで囲む。(ラベルは別にいらないけど便宜上)
省8
120: 71 03/04/06 15:01 ID:??? AAS
>>118
>変数宣言する時は、スコープを絞って適切なブロック内で宣言しよう…と言っているのだと思う。

そいう意味.、言い方まずかったですな・・・
123: 71 03/04/06 15:49 ID:??? AAS
AA省
125
(1): 71 03/04/06 16:00 ID:??? AAS
>>124見通しが悪くなるから。
誤動作の元にもなりかねんし
127
(2): 71 03/04/06 16:12 ID:??? AAS
>>126だから自分で組んでるんだが?
グローバルがいいっていうなら、そうすればいいのじゃない?

自分だけでやっとればいいってのなら一向にかまわないけど、
複数の人がからんでくるとなるとそうもいかない
128
(1): 37 ◆0wPZQfeVoI 03/04/06 16:44 ID:??? AAS
取り合えず少し直してみました。
今日はPHPで学校の掲示板を作るので
あまり変更はないかもしれません。

>>71さん
気をつけないと
if ($hoge eq 'hoge') {
 my $foo = 'hoge!';
}
print $foo;
この場合マズイですよね?
省1
129
(1): 71 03/04/06 16:49 ID:??? AAS
>>128
それはスコープの外に print $fooがあるので動作しない

if ($hoge eq 'hoge') {
 my $foo = 'hoge!';
 print $foo;
}
コレが正解
143
(1): 71 03/04/09 03:32 ID:??? AAS
自分の趣味でリファレンスを使ってソースを書いてみた・・・
cgi-lib使ったことないからあてずっぽうだけど、かなりソース書きなおす事になったねぇ

外部リンク[txt]:iwh15.hp.infoseek.co.jp
144
(1): 71 03/04/09 03:33 ID:??? AAS
>>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'}){
146
(1): 71 03/04/09 04:57 ID:??? AAS
>>145 動かしてないからねぇ(w
穴ありまくりであろうかと
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.693s*