>>949 my %FORM; を消し忘れた……。
>>950 よくは分からないですけど
外側のmy変数はコンパイル時に実体が作られるんでしょうか。
SpeedyCGIインストール完了
なんとなく離してみた
なぜか動いた
なぜだ〜〜〜
my $NOWTIME;#現在時刻
&bbs_main;
exit;
#########################################################
sub bbs_main
{
my $version = "BBS.CGI - 2005 (for SpeedyCGI)";
$NOWTIME = time;#現在時刻
954 :
FOX ★:04/12/02 17:53:42 ID:???
>>952 なんでしょうねぇ
my しても、実際に使い方が悪かったらどっかに(CS?) 実態が
作られちゃうんでしょうねぇ
んもう、書き直すならオブジェクト指向で書き直せばいいのに。
オブジェクト指向ならmod_perlの道が見えるのに。
956 :
FOX ★:04/12/02 17:58:44 ID:???
>>955 それは大変すぎるですよ、私にとっては
次の世代の方々への贈り物ということで、
SpeedyCGI でかなり改善することが知りたいというのが目的なもんで
「かなり改善」が望めないならお蔵入りという話し。
957 :
FOX ★:04/12/02 18:00:25 ID:???
>>957 foxReadFormの頭で
my $FORM = $GB->{FORM};
として、代入の方は
$FORM->{$name} = "$value";
とするのがよいかと。
959 :
FOX ★:04/12/02 18:12:56 ID:???
やってみるです
960 :
FOX ★:04/12/02 18:16:02 ID:???
sub foxReadForm
{
my ($GB) = @_;
my $query_string = undef;
my (@m_elements, $m_element, $name, $value);
my %FORM = $GB->{FORM};
で駄目だった。 (my $FORM だと 500 error だった)
うひょ。
sub foxReadForm
{
my ($GB) = @_;
my $query_string = undef;
my (@m_elements, $m_element, $name, $value);
my $FORM = $GB->{FORM};
#環境変数からPOSTのでーたをもらう〜
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});
@m_elements = split(/&/, $query_string);
foreach $m_element (@m_elements) {
($name, $value) = split(/=/, $m_element);
$value =~ s/\0//g;
$value =~ tr/+/ /;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/\r\n|\r|\n/<br>/g;
$value =~ s/<br>/ <br> /g;
$value =~ s/[\0\x00-\x1f]//g;
$FORM->{$name} = "$value";
}
}
#1行データからは改行を削ってタグを閉じます
$FORM->{'subject'} =~ s/\#//g;
$FORM->{'subject'} =~ s/ <br> //g;
$FORM->{'subject'} =~ s/&//g;
$FORM->{'FROM'} =~ s/"/"/g;
$FORM->{'FROM'} =~ s/ <br> //g;
$FORM->{'mail'} =~ s/"/"/g;
$FORM->{'mail'} =~ s/ <br> //g;
$FORM->{'bbs'} =~ s/\|//g;
$FORM->{'bbs'} =~ s/\\//g;
$FORM->{'key'} =~ s/\|//g;
$FORM->{'bbs'} =~ s/\.//g;
$FORM->{'key'} =~ s/\.//g;
$FORM->{'bbs'} =~ s/&//g;
$FORM->{'key'} =~ s/&//g;
$FORM->{'time'} =~ s/\D//g;
$FORM->{'bbs'} =~ s#/##g;
$FORM->{'key'} =~ s#/##g;
$FORM->{'subject'} =~ s/&r//g;
$FORM->{'FROM'} =~ s/&r//g;
$FORM->{'mail'} =~ s/&r//g;
}
962 :
FOX ★:04/12/02 18:18:47 ID:???
勘違いしているかな?
もう一回挑戦
963 :
FOX ★:04/12/02 18:19:32 ID:???
964 :
FOX ★:04/12/02 18:21:55 ID:???
わーい
うまくいった。
次へ行こう。
965 :
▲:/usr/local/bin/ch2 -o i686 ◆P8fXJj6wwo :04/12/02 18:22:08 ID:WBZMaSLu
>>955 さすがにつらすぎるでしょう。
でも最終手段としての書き直しは軽く心に留め置いておいたほうがいいかもしれないと振ってみる
966 :
FOX ★:04/12/02 18:31:09 ID:???
sub bbs_main
{
use CGI::SpeedyCGI;
my $sp = CGI::SpeedyCGI->new;
my $spv = $sp->i_am_speedy ? 'yes' : 'no' ;
$ENV{'TZ'} = "JST-9";#日本
#$ENV はそのまま使う
my $GBX = {};
$GBX->{version} = "BBS.CGI - 2005 (SpeedyCGI = $spv)";
$GBX->{NOWTIME} = time;#現在時刻
$GBX->{PID} = $$;#pid
$GBX->{FORM} = {};#
&foxReadForm($GBX);#$FORM を読み込む
require "./bbs-main.cgi";
&DispError2($GBX,"FOX ★","<font color=green>FOX ★ ふふふっ</font><br><br>これが表\示されるということは・・・<br>本体requireしたのにそっちへ行かないと、、、");
print "Content-type: text/html; charset=shift_jis\n\nWOWOWOWOWOW-----\n";
return;
}
967 :
FOX ★:04/12/02 18:32:14 ID:???
require "./bbs-main.cgi";
で本体に処理を移そうとしたら・・・
最初の起動時は本体へ行った
しかーし、二回目以降はだめだった、、、
どうする?
>967
>951
bbs-main.cgiの処理を関数に括りだしておいて
その関数を陽に呼び出せばいいような。
970 :
FOX ★:04/12/02 18:49:18 ID:???
>>968 わたし・・・
理解不能なんです
>>969 そんなふうにしてみた
sub bbs_honati
{
my ($GB) = @_;
&DispError2($GBX,"FOX ★","<font color=green>FOX ★</font> いよいよ本体");
}
1;
んで &bbs_honati ; で呼び出してみた。
971 :
風俗王:04/12/02 18:55:14 ID:lxr8SelU
今栃木県の宇都宮でトップのでりは???
ホストが違う・・・
ERROR:ユーザー設定が消失しています!
ホストU178***.ppp.dion.ne.jp
名前:
E-mail:
内容:
こちらでリロードしてください。 GO!
分からないことがあったら2ちゃんねるガイドへ。。。
アクセス規制・プロキシー制限等規制は、2ちゃんねるビューアを使うと回避できることがあります。
あ、オレオレ。
どうも前にエラーを出した人のを出してるような・・・
まあゴニョゴニョしてる途中だからかな
僕ちんは
ERROR:サブジェクトが存在しません!だた。
hostでなくなった(−−;
978 :
FOX ★:04/12/02 19:15:53 ID:???
いろいろやっているだす
sub bbs_hontai
{
my ($GB) = @_;
my $FORM = $GB->{FORM};
my $NOWTIME = $GB->{NOWTIME};
&DispError2($GB,"FOX ★","<font color=green>FOX ★</font> いよいよ本体($GB->{FORM}->{bbs} , $FORM{'bbs'})");
$FORM{なんたら} ってのが沢山あるんで
my $FORM = $GB->{FORM};
と関数に入ったところで宣言してそのまま使おうと思ったんだが・・・
うまくいかんのだ
どすればいいのだろう
my %FORM = $GB->{FORM};
とか?
といい加減に答えてみる
$GB->{FORM} は「ハッシュ」じゃなくて「ハッシュへの参照」なので
$FORM{なんたら} を $FORM->{なんたら} に変えないとダメっす。
981 :
FOX ★:04/12/02 19:31:37 ID:???
>>979 やったけどだめだったっす、、
>>980 やっぱそうなんすか・・・
死ぬほどあるんだよなぁ
一気に置き換えるのは恐いしなぁ
>>981 50%乙
FOX★氏はiijか・・・
ERROR:ユーザー設定が消失しています!
ホストh***.p***.iij4u.or.jp
名前: FOX ★
E-mail:
内容:
ffffcce
ffffcsvxxxxx
fffff
gggg
hhhh
983 :
FOX ★:04/12/02 19:37:21 ID:???
ぐおっ
こわっ
my %FORM = %{$GB->{FORM}}; # として
# ここで$FORM{hoge}に対してごにょぎょんして
%{$GB->{FORM}} = %FORM; # として返すとか?
難産ですねー……。
986 :
FOX ★:04/12/02 19:40:12 ID:???
987 :
FOX ★:04/12/02 19:40:50 ID:???
かけた〜〜
乙乙
989 :
FOX ★:04/12/02 19:44:58 ID:???
しかーし
結局 ホスト情報やらhtml名やらは元々グローバルだったから
ちゃんと $GB に入れてやら無いとまずいという話しかな、
結構大変そうだ、
まずは HOST 関係だけやってみよう。
次スレ!次スレ!
>990
じゃああたすが代表して立てましょ
おお、なんか面白い状況
995 :
FOX ★:04/12/02 20:00:41 ID:???
たたけ たたけ たたけ〜♪
おいらにゃー 狐のー 血がー さわーぐー
・●はまだかな
・本文梨でも書き込める
・IDが???
がんばれ〜〜
るーるるーるるるる
1000(^_^;)
ワロタ
どのような形の削除依頼であれ公開させていただきます
2ちゃんねる(+Samba)
アニメ | CM | ゲーム | 映画 | 音楽 | テレビ | 日記(+Samba)
アニメ | CM | ゲーム | 映画 | 音楽 | テレビ |
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。