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

48
(1): 4 ◆R.zOhOehsw 03/04/06 03:03 ID:t3fZoblF(13/25) AAS
もしかして、mainで書いた関数は、mainに含まれますか..汗
勝手に、関数を覗いた部分がmail{}となるのかと思ってました。
49: 03/04/06 03:04 ID:??? AAS
>>47
>mainで、my使うと、別の関数から書きかえれないのでは?
「別の関数」が良く分からんが、mainパッケージに属している関数では

my $a = 1;
print $a,"\n";
&routine;
print $a,"\n";

sub routine {$a = 3;}

$ perl hoge.pl
1
省2
50
(1): 03/04/06 03:05 ID:??? AAS
#!/usr/bin/perl

require "hage.pl";

my $a = 1;
print $a,"\n";
&hage::routine;
print $a,"\n";

# ↓はhage.pl
#!/usr/bin/perl

package hage;
省7
51: 03/04/06 03:06 ID:??? AAS
>>48
main関数なんてもんはない。
mainパッケージ。この辺はちゃんと勉強した方が良かれと思われる。
52: 4 ◆R.zOhOehsw 03/04/06 03:08 ID:t3fZoblF(14/25) AAS
はい、よく分かりました。
ありがとうございます。
53
(1): 41 03/04/06 03:11 ID:??? AAS
>>46
御意見ありがとう御座います。
こんなに早く返って来るなんて…。感激です。
…と言うより、私の記述が雑なので簡単に変な所が見つかってるだけなのだろうか。複雑な気分…汗

もし、ヒマな方がいらっしゃいましたらまだまだ御意見をたくさんお聞かせ下さい。
54: 03/04/06 03:13 ID:??? AAS
どれどれ。ちょっと見てみるか。
55
(2): 03/04/06 03:16 ID:??? AAS
>>53
Name "main::get_time_yday_2" used only once: possible typo at H:\Work\山口BBS200b1\ybbs.cgi line 2336.
Name "main::get_time_isdst_3" used only once: possible typo at H:\Work\山口BBS200b1\ybbs.cgi line 2339.
Name "main::get_time_isdst_2" used only once: possible typo at H:\Work\山口BBS200b1\ybbs.cgi line 2336.
Name "main::get_time_wday_3" used only once: possible typo at H:\Work\山口BBS200b1\ybbs.cgi line 2339.
Name "main::mail_jcph" used only once: possible typo at H:\Work\山口BBS200b1\ybbs.cgi line 2071.
Name "main::get_time_yday" used only once: possible typo at H:\Work\山口BBS200b1\ybbs.cgi line 2333.
Name "main::get_time_sec_3" used only once: possible typo at H:\Work\山口BBS200b1\ybbs.cgi line 2338.
Name "main::get_time_wday_2" used only once: possible typo at H:\Work\山口BBS200b1\ybbs.cgi line 2336.
Name "main::get_time_sec" used only once: possible typo at H:\Work\山口BBS200b1\ybbs.cgi line 2332.
省5
56
(1): 03/04/06 03:20 ID:??? AAS
>>55 まあtypoじゃないみたいだけどね。
・2350行目〜sprintfですっきりと
57
(1): 03/04/06 03:31 ID:??? AAS
他人が書いたソースって見てると面白いもんだねぇ・・・
58
(2): 03/04/06 03:31 ID:??? AAS
つーか、でかっ
10KB超えるCGIなんて作ったこと無い・・・。
59: 03/04/06 03:32 ID:??? AAS
・receive_error ifはいるのか?
・localの意味が分からないならmyを使おう
・クラックを気にするならcryptを使おう
・684行目はどういう意味?
・=はエスケープしなくていいよ
・PCと携帯を同時に扱うなら、途中までは両者に依存しない処理にしておいて
 最後の最後いざ出力するという時に振り分けると綺麗になるよ
60: 03/04/06 03:34 ID:??? AAS
>>58
儂は300Kのソースがあるぞ(ぉ
61
(2): 03/04/06 03:38 ID:??? AAS
・最初(〜300行目)のqqはなんだ?
まぁあとは4氏にも共通するけど、インデントがおかしいのと
記述に一貫性がないのが気になるね。
サブルーチンがそこそこ見られるのは良いと思う(ただ、もう少しstrictに書こう)

これは個人的な趣味だけど、俺はグローバルなオプションはハッシュにする。
%option =(board_name => "hoge", max_mes => 50 ); みたいに。
62: 4 ◆R.zOhOehsw 03/04/06 03:45 ID:t3fZoblF(15/25) AAS
>>61
なるほど。
今までファイルから読んだ設定なんかはハッシュにしてましたが、
CGIだと初心者設置者が混乱するかと思って、できるだけ
見た目で分かりそうにしたつもりでしたが、ハッシュのがイカス。
63: 03/04/06 03:49 ID:??? AAS
あと、自分的趣味をいうと、subの変数はことごとく局所変数にするほうがいいと思うなぁ

sub ayaya{
  my $num = shift;
  $num++;
  return($num);
}

みたいな形でやっとくほうが誤動作しにくい。
64: 41 03/04/06 03:52 ID:??? AAS
>>54-60
もう早こんなに…!ありがとう御座います。
最初はなんか晒すの恥ずかしいと思ってたけど、晒して良かったなぁ…(嬉

>>55-56
はい、タイムの所めちゃくちゃです。自分でもここは直さねば!と思ってました。
ありがたく直させてもらいます。

>>57
そうですか。私のレベルだと他人の記述は自分と進めかたが違うので見てると疲れてしまいます。
そんな私はperlしかできず、初めて1年くらいになります。面白いと言って頂けて幸いです。

>>58
省18
65
(1): 4 ◆R.zOhOehsw 03/04/06 04:01 ID:t3fZoblF(16/25) AAS
localは宣言した{}内から読んだ関数内からでも参照できる。かな..

$cry = crypt('passwd', 'sl');
で、DESというので暗号化します。slはsaltで2byteとります。
暗号化されてた文字列(13byte)の先頭2byteに入りますから、
パスワードを検査するときに、同じsaltでもう一度暗号化して、
暗号済みのものと同じになれば同じパスワードです。
ん、いい説明探したほうが早いか..
66
(2): 03/04/06 04:18 ID:??? AAS
ハッシュを普通の変数のように使うのってだめですか?
67: 03/04/06 04:23 ID:??? AAS
>>66
駄目ではない、用途によって使い分ける事が重要
1-
あと 605 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.019s