2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

CGIだけど、なんか質問ある?Part 5

1 :名無しさん@お腹いっぱい。:01/12/26 10:51 ID:???
■過去ログ
 Part 3 http://pc.2ch.net/test/read.cgi/php/988727833/l50
 Part 4 http://pc.2ch.net/test/read.cgi/php/1000804655/l50

その他参考になるスレッドを >>2 に纏めたので、十分に調べた上で質問して下さい。

2 :1:01/12/26 10:54 ID:???
CGI以外のPerlに関する質問スレッド
 Perl 初心者コーナー
  http://pc.2ch.net/test/read.cgi/php/1003900311/l50
 CGIに依存しないPerlの話題一般
   http://pc.2ch.net/test/read.cgi/php/991313362/l50

Perl以外のCGIスレッド(別にこのスレで良いんだけど参考に)
 RubyでCGI
   http://pc.2ch.net/test/read.cgi/php/988948655/l50
 C言語CGI専用スレッド
   http://pc.2ch.net/test/read.cgi/php/988918264/l50
 TclでCGI作ってる人いる?
   http://pc.2ch.net/test/read.cgi/php/993648764/l50
 /*Perl.Ruby.php以外でCGI*/
   http://pc.2ch.net/test/read.cgi/php/1004107967/l50

その他のWEBプログラムスレッド
 【PHP】 質問スレッド
   http://pc.2ch.net/test/read.cgi/php/1003283567/l50
 ◆JSP◆
   http://pc.2ch.net/test/read.cgi/php/984840356/l50
 ==ASP==
   http://pc.2ch.net/test/read.cgi/php/984840107/l50
 ColdFusion
   http://pc.2ch.net/test/read.cgi/php/988191427/l50

その他の良スレ
 【Perl,CGI】参考書籍
   http://pc.2ch.net/test/read.cgi/php/988809842/l50
 スクリプト改造工房
   http://pc.2ch.net/test/read.cgi/php/988808396/l50
 こんなCGI探してますスレッド
   http://pc.2ch.net/test/read.cgi/php/1003132904/l50

3 :名無しさん@お腹いっぱい。:01/12/26 11:15 ID:???
クソスレ立てるな

=======終了=======

4 :名無しさん@お腹いっぱい。 :01/12/26 11:21 ID:???
串とIPとあゆ板下さい
それでは おながいします

5 :名無しさん@お腹いっぱい。:01/12/26 11:23 ID:???
>>3>>4

6 :名無しさん@お腹いっぱい。:01/12/26 12:09 ID:???
>>1==>>2==>>3==>>4

7 :前スレ979:01/12/26 12:18 ID:BRFa7AfO
http://me.bird.to/hakoniwa/download.htmlから
箱庭諸島2 Ex.Version (based 箱庭諸島2ver2.30)

を落して自分のFreeBSDのサーバで動作させようと思ったのですが
http://xxx.xxx/xxx/hako/hako-main.cgi
にアクセスしたところ

つぎのターンまで、あと 0 時間 -16821368 分です 同時アクセスエラーです。
ブラウザの「戻る」ボタンを押し、
しばらく待ってから再度お試し下さい

というエラーがでていますいます。

/var/log/httpd-error.log にエラーは記録されてはいません。
どなたか何故エラーででるのあ教えてください

という質問をしました。

>httpのエラーと箱庭のエラー出力の区別付かんヤツには無理だと
>思われ

もちろん区別はついていますよ。
しかし、質問するのにこちらの情報はできるだけ出す必要が
あると思い「エラーログはでないの?」の質問が来てもいいように
最初に出しておきました。


どなたか原因を教えてください。
ローカルなサーバで外部に公開はしていないので上のアドレスは
デタラメでです。

8 :名無しさん@お腹いっぱい。:01/12/26 12:19 ID:???
なに荒らしてるんだ?この糞厨房は。 >>3,>>4,>>6

9 :名無しさん@お腹いっぱい。:01/12/26 12:23 ID:???
>7
スクリプトの製作者に聞くのがいい。
マジレス。

10 :名無しさん@お腹いっぱい。:01/12/26 12:40 ID:???
同時アクセスエラーなんじゃ無いの?

11 :前スレ979:01/12/26 13:28 ID:???
>>10
> 同時アクセスエラーなんじゃ無いの?

このエラーの意味が分からないのですが
自分一人しかアクセスしていないです。

12 :名無しさん@お腹いっぱい。:01/12/26 13:48 ID:???
なら配布所で聞く事を勧める
多分人数制限にセマフォとか排他してて、それが詰まってるのでは
と言う意味で書いた
見に行ったらperlだったんで萎えた、cppVer使ってるなら追っても良いけどね

13 :名無しさん@お腹いっぱい。:01/12/26 14:36 ID:???
use CGI qw(:standard);
$qq = new CGI;
print $qq->header(-type=>"text/plain", -attachment=>"data.txt");

ってやってもNetscape6.2でファイルの保存ダイアログが開きません。
(IE5.5は開く)
何か対策はありますでしょうか。内容はテキストデータです。

14 :名無しさん@お腹いっぱい。:01/12/26 15:37 ID:???
text/plain を適当に変えれ。

15 :親切な人:01/12/26 16:15 ID:???

ヤフーオークションで、幻の人気商品、発見!!!

今は無き「コピーガードキャンセラー」↓
http://page2.auctions.yahoo.co.jp/jp/auction/b19193423

ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。

16 :名無しさん@お腹いっぱい。:01/12/26 17:02 ID:???
>>14 てっ適当に?

なるほどapplication/octet-streamにしたらダイアログが出ました
ありがとうございます。
こういう時につかうスタンダードなヘッダってありますか?

17 :14:01/12/26 17:13 ID:???
俺は application/x-download にしてる。

18 :名無しさん@お腹いっぱい。 :01/12/26 17:59 ID:???
http://pc.2ch.net/test/read.cgi/php/1000804655/514-515n
前スレで、CGIの負荷はむしろアクセス数のほうが問題だ。みたいな事言われているんですが、
ログを書く代わりにhtmlに保存するような掲示板の場合、そのhtmlを書くときに多少無理やっちゃっても大丈夫でしょうか?
たとえば、100kb位の配列をreverseとか。

19 :名無しさん@お腹いっぱい。:01/12/26 18:04 ID:???
>>18
絶対やっちゃ駄目
100KBの配列をreverseすると、しない時と比べてメモリを2MB以上消費します(構文解析時のワークエリアも含めて)
良くてアカウント停止、最悪サーバが落ちます

20 :18:01/12/26 18:08 ID:???
>>19
ありがとうございます。
自鯖で試して、明らかにreverseが重かったので不安になってました。
ところで、reverseの代替となるアルゴリズムって何かありますか?
負荷にならないようなのがいいんですが。。。

21 :名無しさん@お腹いっぱい。:01/12/26 18:10 ID:???
>19
Perlの話ですけど便乗質問よろしいでしょうか?

reverseでやるとまずいそうですけど、例えば
foreach(reverse(@data){$_を処理}
for($i=$#data;$i>=0;$i--){$data[$i]を処理}
この2者の場合、後者の方がいいということでしょうか?

22 :21:01/12/26 18:12 ID:???
)の数打ち間違えたのはご容赦を(あせ

23 :名無しさん@お腹いっぱい。:01/12/26 18:14 ID:???
コラコラ w
>18 配列のサイズ書かれても分からんよ
50KBの要素が2個の配列か、1バイトの要素が102400個かで全然違うだろ?
つーか構文解析に2MBも使わないって(苦笑

24 :名無しさん@お腹いっぱい。:01/12/26 18:15 ID:???
後者。

25 :名無しさん@お腹いっぱい。:01/12/26 18:16 ID:???
それとサーバーも落ちない 

26 :21:01/12/26 18:18 ID:???
>24
ありがとうございます。
自分のスクリプトを手直ししてみようと思います。

ところでこういった事はどこで勉強されるのでしょう?
大抵の書籍とかはプログラミングの仕方は書いてあっても
こういった速度などに関するものはあまりないように思えて・・・。
よろしければご指導お願いします。

27 :名無しさん@お腹いっぱい。:01/12/26 18:50 ID:???
reverseってそんなに遅かったかな
双方向リスト反転してるだけじゃ無いの? #未確認だけど・・・

28 :こういう質問はここでいいのかな?:01/12/27 01:36 ID:DukV2Cc1
ネットゲーとはどういう構造なんでしょうか?
たとえばネット対戦できる麻雀ゲームを作成するとすればどういうスキルを習得すればできるんでしょうか?
初心者には無理だってことは承知ですが、参考までにおしえてください。

29 :名無しさん@お腹いっぱい。:01/12/27 01:42 ID:???
               ,ィミ,        ,ィミ,               フ
                彡 ミ        彡 ミ,            ヤ |
             ,,彡   ミ、、、、、、、、彡  ミ,     (⌒)    レ  |
            彡;:;:             ミ,    (  ヽ   ヤ
         〜三;:;:::::              彡〜  ノ  ノ   レ
         ~~三:;:;:;:::::  -=・=-   -=・=- 三~~ ヽ (    :     ;;
         ~~彡::;:;:;:;:::..     ___     ,三~~ ( ノ ,,,,,  :      ;;
          ~~彡;:;:;:;:;:;:;:.    |┴┴|    ,ミ~~ ノノ ;'" ,,ノ―、     ,;'
          ~~彡:;:;:;:;:;:;:;:;.  ノ――| ---==ニノ ,;'′ >=ニ(二二二()
     ,...-''''""~~,::;:;::;::;::;::;'            ミ,,  ,;'′  ゝ--〈
____,;";;:;;;;;;;;;;;;;;;;;;;;;:;:;:;:;:;:;:;            i! ミ,,,,;'′   `ー‐'
           ::::ミミミ:;:;:;:           ミ::      ,;' ̄ ̄ ̄ ̄|  \___/
            :::::ミミミ:;:;:           ミ:::,   ,;::''′        |.    \/
            ::::ミミミ:;:;::       ,;+''"~~゙+、~'''''~          |     |
             ::::ミミミ:;:;:;:     ,+'"     ミ:::::           |   ━┷━━━┳━━━━
               :::::ミミミ:;:;:;:;:  >':;:       ミ::              |             ┃
             ::::::ミミミ:;:;:;:;:;../;:;:;:       ;:"             |             ┃
              ::::::::ミミミミ:;:/;:;:;:;:    ,.+'"''-、________|__         ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄;':;:;:;:   ,.+'"    ミ、              l          ┃
                 ::::::ミ;:;:;:;:.. ..ミ:::ミ:;:     ミ               l          ┃
                  ::::::しUUU┘::::ミ:;:     ミ               l          ┃
                  :::::::::::::::::::::::::::└UUUじ                 l          ┃
__________________________________,l          ┃
                                                 ━━━┻━━━

30 :名無しさん@お腹いっぱい。:01/12/27 01:59 ID:???
麻雀のルール

31 :名無しさん@お腹いっぱい。:01/12/27 02:16 ID:???
でかいAA貼るアフォに出会わない運

32 : :01/12/27 04:13 ID:N1sjwrTI
質問です。
自鯖でCGI(掲示板、C言語で書かれた物)を動かそうと思ってるんですが、うまく動いてくれません。
拡張子をexeに変えてローカルで実行すると、ファイルが大きすぎてメモリに入りきらないというエラーが返されます。
winの設定の問題でしょうか?ちなみに、メモリは256MB,OSはWin2k、httpdはan_httpdです。

#もしかして板違い・・・??(;´Д`)

33 :login:Penguin:01/12/27 04:17 ID:???
>>32
不幸だ。
コンパイラって知ってる?

34 :32:01/12/27 04:34 ID:???
そりゃもちろんコンパイルはしましたよ。
そのコンパイル済みのバイナリファイルが実行できないんです。

vine2.1.5でコンパイルしてきた奴なんですけど、それじゃダメっすか??

35 :32:01/12/27 04:35 ID:N1sjwrTI
イチオウアゲ

36 :32:01/12/27 04:37 ID:N1sjwrTI
あ、
>拡張子を〜〜
のとこで勘違いされました??
コンパイル→exe→cgi→(゚д゚)マズー
じゃぁexeのまんまでどうだ?→(゚д゚)・・・ー

です。

37 :デフォルトの名無しさん:01/12/27 04:55 ID:???
どうだって言われても・・・・
vineのソフトはWINじゃ動かないだろ?
それともクロス魔術師がコンパイルしたんだろうか

38 :login:Penguin:01/12/27 04:55 ID:Y9+IS1nf
>>34
え・・・vine上でコンパイルしてどこで実行しようとしていらっしゃるのでしょうか

39 :32:01/12/27 04:56 ID:???
vineのソフトじゃなくて、.tar.gzでアーカイブされてたからlinux上でコンパイルしてきたんです。
それでもダメでしょうか?

40 :32:01/12/27 04:57 ID:???
>>38
すれ違い・・・(;´Д`)ァゥァ

vineでコンパイルしてwinで動かそうとしてるんです。

41 :デフォルトの名無しさん:01/12/27 05:00 ID:???
ふつーコンパイラは自分のインストールされてる環境に合わせた
コードを生成します。
しかし、諦める事はありません。
enterキーを押す時に強く念じるのです!
「これはWINで使うんだよぅ〜〜 (-人-)ナムナム」
そうすれば、小人さんがWINDOWS用のexeファイルを頑張って作ってくれます
難しいけど、、、
頑張って!

# と言うコピペがどっかで有ったよ ^^;

42 :32:01/12/27 05:01 ID:???
>>41
やぱダメですか・・・(;´Д`)
つーかワラタ(w
winでなんとかコンパイルする方法ありませんか??
ヘッダファイルを無理矢理持ってくるとか・・・

43 :デフォルトの名無しさん:01/12/27 05:06 ID:???
えっとここでWIN用のフリーのコンパイラが有るから頂戴すれ
http://www.borland.co.jp/cppbuilder/freecompiler/
んでもって、コイツを設定してこれでコンパイルしてみ
だた処理系依存は当たり前だから、下手するとヘッダさえ
見つからない事もある
と言うか、大きいアプリなんかは絶対無理だ

# BBS位ならうごくかもね

44 :32:01/12/27 05:08 ID:???
borlandやらLSI試食版やらはもう持ってるんですよ(;´Д`)
でも、コンパイルするとヘッダファイルが足りないみたいなんです。
今日はもう寝ますんで、明日また色々調べて挑戦したいと思います。
こんな時間にありがとうございました。

45 :デフォルトの名無しさん:01/12/27 05:18 ID:???
お前はコンパイラ持っててそんな事も知らんかったのか (^^
まぁ、規模にもよるだろけどBBS位なら大抵同等のヘッダが有るから
それを使え、ついでにC++もべんきょすれ

46 :32:01/12/27 05:21 ID:???
まだ起きてたり・・・

いやぁ、よくわからないんですけど、unistd.hてのがincludeフォルダに無いんですよ(;´Д`)
どっかで落として来れるもんなんでしょうか?
明日linuxから持ってきてincludeフォルダに置いて再度挑戦してみます。
それでは、おやすみなさい。。。

47 :login:Penguin:01/12/27 05:23 ID:Y9+IS1nf
>>46
何も考えず、そのままvine上で動作させれば良いと思うんだが

48 :32:01/12/27 13:30 ID:???
おはようございます。

>>47
いえ、今鯖をlinuxに移行する為の準備期間ってことでlinux勉強中なんですよ。
で、繋ぎとして新しい掲示板をwinで使って見ようかな、と。

さ、これから歯医者いってから試してみたいと思います。
結果は後ほど・・・

49 :32:01/12/27 17:08 ID:???
結果報告。

必要なヘッダファイルを持ってきた所、なんとかコンパイルできました。
チョト強引かもしれませんが・・・(;´Д`)
しばらくはこれで繋いで、頑張ってlinux勉強しようと思います。
ありがとうございました。

50 :えいじ:01/12/27 19:35 ID:VRi8wtO1
open(OUT,+>filename.txt);
print OUT "あいうえお\n";
close(OUT);

でfilename.txtが新規作成されますよね。
でも作成場所をトップディレクトリにした場合はは
新規作成されません。
どうしたら解決できるかご存知の方おられますでしょうか。
よろしくお願いいたします

51 :名無しさん@お腹いっぱい。:01/12/27 20:00 ID:???
>>50
何箇所にマルチポストしてるの?

52 :sage:01/12/28 00:55 ID:P8B6/AoK
>Perlの実行速度
簡単に出せますよ。
$CPU_start = (times)[0] ;
処理内容
$CPU_end = (times)[0];
printf("<DIV align=right>消費時間: %.3f CPU秒</DIV>\n",$CPU_end-$CPU_start);
printf("</body></html>"); # by水沢

53 :sage:01/12/28 00:56 ID:P8B6/AoK
いちお
print "Content-type: text/html\n\n";
出すの忘れないでね(汗

54 : :01/12/28 01:07 ID:D/y9CjEc
今の2ch見てて思ったんですけど、鯖に、hoge.cgi/php/〜〜っていうブラウザからのリクエストが届いた時に、
read.cgiっていうフォルダを探しちゃったりしないんでしょうか?
それとも、そうさせないための方法とかあるんでしょうか?
どなたか、ご教授下さい。

55 :名無しさん@お腹いっぱい。:01/12/28 01:12 ID:???
はぁ何言ってるのオマエ?
ニホンゴハナセヨヴァーカ

56 :     :01/12/28 01:15 ID:???
中途半端な煽りレス返すんなら来るんじゃねぇよ。
・・・オレモナー






などと逝ってみるテスd

57 :54:01/12/28 01:18 ID:D/y9CjEc
えと、書き方が悪かったでしょうか・・・。
read.cgiより後ろの文字列は、URLとして解釈されるのか、それとも環境変数に代入(?)されるのでしょうか?

58 :名無しさん@お腹いっぱい。:01/12/28 01:24 ID:???
環境破壊反対!!

59 :名無しさん@お腹いっぱい。:01/12/28 01:25 ID:a98yftGH
>>32
コンパイラちゃうくて、
インストーラーだっけ?
なによく知らんけど、
WINってバージョンあったよね。

60 :馬鹿:01/12/28 01:27 ID:???
馬鹿が馬鹿よ呼ぶ大変な状態です!!

61 :名無しさん@お腹いっぱい。 :01/12/28 01:30 ID:???
>>57
何が言いたいのか分からない。
環境変数ってどの環境変数??
URIとして解釈されないとパラメータの意味が無くなると思うんだが・・・・

62 :54:01/12/28 01:50 ID:???
今いろいろ見てきました。
hoge.cgi/**
の、**の部分が環境変数PATH_INFOに入るということは実験できたのですが、
それでもcgiの実行結果が返ってくるということはhttpdはそのディレクトリは探してないのでしょうか??

>>61
ちょっと自分でもこんがらがって、うまく伝えられない状況(;´Д`)
ググールへ逝って来ます・・・。

63 :名無しさん@お腹いっぱい。:01/12/28 02:09 ID:???
ああ、そう言う事か
httpdがリクエスト貰ったらDocumentRootからディレクトリを辿って行くのな。
んでディレクトリじゃ無くてファイルか見つかった時点で
httpd_conf何かの設定を見て、そのファイルがexecCGIされてたら
/ 以降をhttpdがEnvのPATH_TRANSLATED何かにセットしてファイルをオープンする訳
まあ大体どんなサーバでもこんな感じでファイルを探してる
これでOK?

64 :名無しさん@お腹いっぱい。:01/12/28 02:11 ID:???
だからこれは通らない訳だな
http://pc.2ch.net/php/index.html/foo

65 :54:01/12/28 02:41 ID:???
>httpdがリクエスト貰ったらDocumentRootからディレクトリを辿って行くのな。

なるほど、これで謎が解けました。
つまり、優先順位(?)はディレクトリよりファイルが先だからhoge.cgiが見つかって
それが実行出来る物であったら、それ以下、?より前の部分がPATH_INFOに入れられるワケですね。

口下手ですいませんでした、ありがとうございました。

66 :あげてみる:01/12/28 09:35 ID:???
>>64
通らないってどゆこと?
普通に見えちゃったんだけど・・・。

けど、webprog板だけ、何故かバナーと背景が見えないなあ。
他の板は普通に見えるのに。
謎だ。なんか基本的なことを見落としているのだろうか・・・。

67 :名無しさん@お腹いっぱい。:01/12/28 09:50 ID:???
> つまり、優先順位(?)はディレクトリよりファイルが先だからhoge.cgiが見つかって
優先順位も何も、同じ名前でファイルとディレクトリは作れない。

68 :名無しさん@お腹いっぱい。:01/12/28 10:28 ID:I1y72yIj
i-mode用サイトでPCのアクセス不可にしてるとこがあるけど、
CGIでやる場合はHTTP_HOSTで振り分けるの?

69 :名無しさん@お腹いっぱい。:01/12/28 11:36 ID:???
いや、REMOTE_HOSTじゃないかに

70 : :01/12/28 11:38 ID:???
REMOTE_HOSTかHTTP_USER_AGENTだね

71 :初心者ですみません:01/12/29 07:33 ID:IhpmkgLt
書くところ間違えた(鬱)

掲示板のレス部分にタイトル変更機能が付いてない物を改造しているのですが、
親記事のタイトルが$subj、レスが$rsubjに格納しているとして
if ($subj) { $rsubj = "Re\: $subj"; }
print "\t<b><font color=\"#ff00ff\">$rsubj</font>

これでレス部分に「Re:(親タイトル)」表示が出来たのですが、
自分がレスフォームから書き込んだタイトルを反映させるにはどうすればいいでしょうか。
<input type="text" size="30" name="rsubj" value="Re: $subj">
このようにタグは書いています。

72 : :01/12/29 09:46 ID:???
ソース無しにどう答えろと?

73 : :01/12/29 09:48 ID:???
それからスクリプトの改造はこちら
http://pc.2ch.net/test/read.cgi/php/988808396/

74 :ななぴ:01/12/29 10:23 ID:A1ZmLDMN
正規表現ってなに?簡単に言えや

75 :名無しさん@お腹いっぱい。:01/12/29 11:04 ID:???
Regular Expressions

76 :2チャンネららら:01/12/29 18:45 ID:Dxg9d8II
ここのスクリプトはどう?
2ch型なんだけど・・・。

2ch型マイナー掲示板「はにちゃんねる」
http://www.isn.ne.jp/~honey/hc/
アクセス数アップキャンペーン中、みんな紹介よろしこ。

77 :名無しさん@お腹いっぱい。:01/12/29 19:24 ID:RtOopK2q
htaccessって何て読むんですか?

78 :名無しさん@お腹いっぱい。:01/12/29 19:26 ID:???
>>77

ハイパーテキストアクセス

79 :名無しさん@お腹いっぱい。:01/12/29 19:27 ID:???
ht(tp)-accessと考えれば自ずと…。

80 :娘にハァハァ:01/12/29 23:25 ID:???
Hな父さんがアクセス

81 :デフォルトの名無しさん:01/12/30 00:45 ID:???
エッチティーティーピーディーアクセスコンフィギュレーションファイル

82 :どこが違うの?:01/12/30 08:08 ID:Xs3aU9Xx
#!/usr/local/bin/perl

$rhost = $ENV{'REMOTE_HOST'};

print "Content-type: text/html\n\n";

print "<html><head><title>ENV REMOTE_HOST</title></head><body>\n";
print "あなたのリモートホストは、$rhostです。\n";
print "</body></html>\n";

83 :どこが違うの?:01/12/30 08:13 ID:Xs3aU9Xx
あ、REMOTE_ADDRだと出来た。
なんでリモホはダメなのかなあ

84 :名無しさん@お腹いっぱい。:01/12/30 11:18 ID:???
なにがどうダメなの?
あなたの脳内を他人は読めないよ

85 :名無しさん@お腹いっぱい。:01/12/30 11:21 ID:???
>82-83
最近は使えないところが多いね。
何でダメかはサーバー会社にでも聞いたら?

86 :名無しさん@お腹いっぱい。:01/12/30 12:14 ID:???
>>82
gethostbyaddrとか使っても駄目かい?

87 :どこが違うの?:01/12/30 12:16 ID:???
>>84
アクセスしても、「あなたのリモートホストは、です。」
しか出てこない。

>>85
あっ。そうですか。リモートホスト取得
ってなんか鯖に不都合な事ってあるんですかね?

88 :どこが違うの?:01/12/30 12:17 ID:???
>>86
なにそれ

89 :名無しさん@お腹いっぱい。:01/12/30 12:54 ID:???
http://www.google.com/search?q=%8C%9F%8D%F5%83G%83%93%83W%83%93+%8Eg%82%A2%95%FB&hl=ja&btnG=Google+%8C%9F%8D%F5&lr=lang_ja

90 :名無しさん@お腹いっぱい。:01/12/30 13:15 ID:???
>>82

$host= $ENV{'REMOTE_ADDR'};
$host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $host;

91 :名無しさん@お腹いっぱい。:01/12/30 14:25 ID:u8VYHHVb
>>82

if ($ENV{'REMOTE_HOST'} eq $ENV{'REMOTE_ADDR'} || !$ENV{'REMOTE_HOST'}) {
$ENV{'REMOTE_HOST'} = $ENV{'REMOTE_ADDR'} if (!$ENV{'REMOTE_HOST'});
$ENV{'REMOTE_HOST'} = gethostbyaddr(pack('C4',split(/\./,$ENV{'REMOTE_HOST'})),2) || $ENV{'REMOTE_ADDR'};

92 :名無しさん@お腹いっぱい。:01/12/30 16:18 ID:???
>>87
> ってなんか鯖に不都合な事ってあるんですかね?

いちいち要求がくるたびにリモートアドレスからホスト名をルックアップしていたら、
サーバーに多大な負荷がかかるから。
通常は必要時だけ(Perlのgethostbyaddr()等で)逆引きできるしてある。
それでもiswebみたいに逆引きできないところがあるけど。

93 :92:01/12/30 16:19 ID:???
×できるしてある。
○できるようにしてある。

94 :名無しさん@お腹いっぱい。:01/12/31 02:15 ID:j9i5Z4Nr
this_is_query.cgi?message=%90%C0%82%C1%82%C4%83%88%83V%81I
とかってやつの ? 以降を URL エンコードするってよくいいますよね。
で、その URL エンコードってのには、& や = でバラしたりとかいう作業も
含まれているとは思うんですが、
単純に + を半角スペースにしたり %7e を ~ にしたりすることだけのことは
なんていうんでしょうか?
やっぱり URL エンコード?
それとも URI エスケープ?

95 :名無しさん@お腹いっぱい。:01/12/31 02:39 ID:???
url-decode

96 :名無しさん@お腹いっぱい。:01/12/31 02:55 ID:9syMh91n
$host = gethostbyaddr(pack('C4',split(/\./,$ENV{'REMOTE_ADDR'})),2) || $ENV{'REMOTE_ADDR'};

97 :名無しさん@お腹いっぱい。:01/12/31 03:02 ID:9syMh91n
>>66
>けど、webprog板だけ、何故かバナーと背景が見えないなあ。
>他の板は普通に見えるのに。
<img src="../
     ~~~
が原因。
ディレクトリが1層下になるからね。
read.cgiもこれを利用して、
<a href=66>
見たいにできるの。

98 :名無しさん@お腹いっぱい。:01/12/31 03:32 ID:???
>>94

> で、その URL エンコードってのには、& や = でバラしたりとかいう作業も
> 含まれているとは思うんですが、

URLエンコードはURLに使用できない文字を暗号化すること。
ちなみにエンコード・デコードに分割は関係ない。

99 :名無しさん@お腹いっぱい。:01/12/31 12:55 ID:???
URI::Escapeは誤りってことなのか。

100 :94:01/12/31 16:20 ID:+8aj9sSZ
URLエンコードって、、、いや、デコードのまちがいっす、鬱。

>>98
ってことは、暗号化や復号化の処理自体がエンコードなりデコードってことで
いいってことなんですか、、、ありがとうございます。
いや、ちょっと気になったもので。
こういう「ちょっと気になる」ってのがいちばんイライラするんですよね。
とにかく、ありがと。

101 :名無しさん@お腹いっぱい。:01/12/31 17:39 ID:???
かなり初歩的な質問で申し訳ないですが
BBSやカウンターを取りつけるには
まずサーバーにページを借りてからするものでしょうか?

102 :名無しさん@お腹いっぱい。:01/12/31 18:00 ID:???
「取り付ける」が何を意味するかによる。
ページを借りるって言うのも意味がわからない。
もう少し詳細を書いてくれんと答えようがないYO!

103 :名無しさん@お腹いっぱい。:01/12/31 18:07 ID:???
もうちょっと詳しく言うと

BBSを借りてきて、実際使えるように設定するには
サーバーからHPスペースをもらってからでないと
ちゃんと設定できないのしょうか

104 :名無しさん@お腹いっぱい。:01/12/31 18:20 ID:???
>>103
別にスペースを借りてこなくても
自分のPCで疑似環境を構築してテストしてから借りればいいんじゃん?

105 :名無しさん@お腹いっぱい。:01/12/31 18:24 ID:JU12p1Rx
perlでセッション管理をしたいんですが、定石だとhiddenで渡すと思いますが、
その場合、ページの切り替えのときは<a>タグじゃなくて<form>で
切り替えていかないといけないのでしょうか?
リンク先がたくさんあると<form>がその分多くなってしまう気が・・・
何か良い方法があれば、ご教授ください。

106 :名無しさん@お腹いっぱい。:01/12/31 18:26 ID:???
>103
レンタル掲示板やレンタルカウンタの事?
大方は前もって掲示板を借りてても問題は無いと思うけど。
必要な時は自分で設置するから借りた事は無いが、理論上は問題無い。
サービスによっては前もって把握したがるサービスもあるかもしれないけど。
せいぜい気にすべきは掲示板での戻り先くらいな物だろうけど、これは多分後で
設定できるだろうし。

…でもこの質問、少し板違いな気もするが。
Web製作の方がまだ良いかと思われ。

107 :名無しさん@お腹いっぱい。:01/12/31 19:05 ID:???
>>105
GETじゃダメなの?

108 :名無しさん@お腹いっぱい。:01/12/31 19:58 ID:???
GETにするならcookie使わないとね。
URIに埋め込むとreferer洩れした時にまずい。

109 :名無しさん@お腹いっぱい。:01/12/31 20:45 ID:???
リダイレクトすればいい

110 :名無しさん@お腹いっぱい。:01/12/31 23:47 ID:HmADGb+H
sunでcgiwrapが動いてるサーバがあります。
ここで使うスクリプトはeucコードじゃないとだめだっけ?
(設定によるのかな?)

文字ヴァケで悩みまくり・・・。

データをjcodeでsjisにして、保存して、見てみると文字ヴァケ・・・。
(htmlのmetaで文字コードは指定していません)
サーバの使いかた忘れちゃったよ。

111 :名無しさん@お腹いっぱい。:02/01/01 00:13 ID:???
>>110
何か勘違いしてないか?

112 :110:02/01/01 00:38 ID:jV/yJayj
勘違いしてますね。

全部sjisにしたら直りました(たぶん・・・)

113 :名無しさん@お腹いっぱい。:02/01/01 01:08 ID:???
新年オメデト、
なんか殺伐としてるからさぁ・・・。

あごめん、邪魔した?

114 :名無しさん@お腹いっぱい。:02/01/02 01:53 ID:iq5oPPqB
VC++6.0でCGI作らなくちゃならないんですが、何か良い参考書ありますか?
本屋行っても全然ないんで困っちゃってます。誰か助けて。

115 :名無しさん@お腹いっぱい。 :02/01/02 02:09 ID:???
1冊CGIの本買って読めばいい(つーかWebで十分だが)
あとはコマンドラインアプリ作ってhttpdと話すだけ
CGIよりhttpdの設定本の方が良いかもね

116 :名無しさん@お腹いっぱい。:02/01/02 02:15 ID:???
>>114,115
標準入出力でやりとりするだけだから易しいもんだよね。
わざわざVC++なんかで組むのが馬鹿らしいくらい。

117 :名無しさん@お腹いっぱい。:02/01/02 02:33 ID:X3xNyY3j
>>115-116
ということは、先ずは最初に何か関連本を読んだほうが良いということですね。
早速、本屋に行ってみます。ありがとうございました。

118 :親切な人:02/01/02 02:41 ID:???

ネットサーフィン中に、凄い人気掲示板、発見!!!

「はにちゃんねる」↓
http://www.isn.ne.jp/~honey/hc/

ネット内では、現在、この掲示板の話題で、持ちきりです。

119 :名無しさん@お腹いっぱい。:02/01/02 02:52 ID:???
CGIはインターフェイスをHTMLで作れるからいいよな。
コンソールアプリと同じような感覚で作れるし。

120 :チュウ:02/01/02 18:33 ID:dZQOJH1p
フォームメールのE-Mail入力チェックを外したいんだけど
やりかたがわかりません。
コメントアウトが#を加えるってことまでは自分で調べたのですが
いざ#を付けてみてもうまく動作しません。
だれか詳しい人教えてちょ〜


#------------------------------------

# 入力チェック

#------------------------------------

#お名前・onamae に入力チェックをかけない場合はコメントアウトして下さい

if ($onamae eq "") {$errno=11;&error; }



#メールアドレス・emailに入力チェックをかけない場合はコメントアウトして下さい

if (!($email =~ /(.*)\@(.*)\.(.*)/)) { $errno=12;&error; }

121 :名無しさん@お腹いっぱい。:02/01/02 18:36 ID:???
if (!($email =~ /(.*)\@(.*)\.(.*)/)) { $errno=12;&error; }

# if (!($email =~ /(.*)\@(.*)\.(.*)/)) { $errno=12;&error; }

で良いんじゃないのか?

にしても酷いスクリプトだな。マジックナンバーじゃなくて定数を使ってくれ…。

122 :名無しさん@お腹いっぱい。:02/01/02 21:48 ID:???
グループウェアっぽいものを作っているのですが、
ユーザがログアウトしたあとにブラウザで前のページに
戻れないようにするのってどうすればいいんでしょうか。
どなたか知っていたら教えてくださいm(__)m

123 :名無しさん@お腹いっぱい。:02/01/02 21:53 ID:VG6leNvJ
http://www2.org1.com/~eiji/upload/uploader.cgi

ここのみたいに、JPGファイルをアップロードして、その画像ファイル一覧を
GIFの縮小画像でサムネイル一覧表示をするスクリプトを探しています。
アップロードされた画像を単純にHTMLのタグで縮小表示してるのはたくさん見つかったんですが
そうすると大量のサムネイル表示には重くて適していないもので。
「探しています」スレッドでは誰も応えてくれなかったので、ソースレベルでどのような
ことを行っているのかお聞きしたく書き込みました
宜しくお願いします

124 :名無しさん@お腹いっぱい。:02/01/03 00:47 ID:???
>>122
出来ません。

まあ、ユーザーが自分で明示的にログアウトした後なら、
セッション情報がサーバから消されている筈で、
恐らくユーザーが前のページに戻ったところで、
無効なセッションとしてエラー処理されるだろうから問題ないでしょう、きっと。

125 :名無しさん@お腹いっぱい。 :02/01/03 07:43 ID:???
プ

126 :名無しさん@お腹いっぱい。:02/01/03 08:41 ID:OYtOtVsw
CGI 使ってリモートブックマークみたいなのを作ってるんですが、
そこから飛ぶときに出来れば Referer を渡したくありません。

Location で飛んでも Referer 渡されちゃうし。
どうやったら Referer 渡さずに飛べるんでしょう?

127 :名無しさん@お腹いっぱい。:02/01/03 08:43 ID:???
早く教えてください!!!

128 :名無しさん@お腹いっぱい。:02/01/03 08:47 ID:???
早くしてください!!!!!

129 :名無しさん@お腹いっぱい。:02/01/03 09:08 ID:???
>>128
何を?

130 :名無しさん@お腹いっぱい。:02/01/03 09:10 ID:???
>>126
そのブックマークスクリプトを起動する際に
パスワード認証するようにして、
Refererを知って見に来た外部の人間には
見られないようにすればいいと思われ。

131 :名無しさん@お腹いっぱい。:02/01/03 09:24 ID:OYtOtVsw
>>130
でも、それだと"登録してる"って事実は漏曳しちゃうわけですよね。
うーん....

132 :名無しさんに接続中…:02/01/03 10:21 ID:KWfhi5kb
>>123
自分で作るしかないようなきがするが
特にGIFの生成に関するのでフリーでというのは虫がよすぎる。
GIFの生成わりと簡単なのでネットで調べるとヨシ。

133 :名無しさん@お腹いっぱい。:02/01/03 14:16 ID:???
>>123
JPGの縮小画像じゃだめなん?

134 :名無しさん@お腹いっぱい。:02/01/03 19:08 ID:???
cgiをSSIで呼び出すときにクエリー文字以降のコマンドを実行したいのですが
どうすればよいのでしょうか?

具体的にはimgboard.cgiの2ページ目、3ページ目…を
2.shtml、3.shtml…として呼び出したいです。

1ページ目はimgboard.shtmlに
<!--#exec cgi="cgi-bin/imgboard.cgi"-->
と書いて正常に表示されます。

2ページ目は2.shtmlに
<!--#exec cgi="cgi-bin/imgboard.cgi?page=2"-->
としてみましたがエラーが出てしまいます。

135 :名無しさん@お腹いっぱい。:02/01/03 19:52 ID:???
>>134
2.shtml,3.shtml…それぞれに
<!--#exec cgi="cgi-bin/imgboard.cgi"-->
と書き、
imgboard.cgiの中で環境変数DOCUMENT_URIを調べて、
呼び出し元を判別すればよい。

136 :名無しさん@お腹いっぱい。:02/01/03 21:42 ID:rXCVYJ/4
フォームからの受け取り値が多くて、
未記入は漏れなく許さない形にすると、if文の荒しになります。

if( $hage eq "" ){
print "Content-type: text/html\n\n";
print "<html><head><title>未記入です。</title></head>\n";
print "<body>\n";
print "<p>未記入です。</p>\n";
print "</body></html>\n";
}
if( $aage eq "" ){
print "Content-type: text/html\n\n";
print "<html><head><title>未記入です。</title></head>\n";
print "<body>\n";
print "<p>未記入です。</p>\n";
print "</body></html>\n";
}
...

と延々書いていくしかないんですか。非効率的な気がします。

137 :名無しさん@お腹いっぱい。:02/01/03 21:48 ID:???
あと、とりあえずそれでもいいんですが、
この場合未記入でもその後の処理は続いちゃいますよね?
if内処理の中に__END__を入れればいいの?

138 :名無しさん@お腹いっぱい。:02/01/03 21:49 ID:???
if($hage eq "" || $aage eq "" ){
print "Content-type: text/html\n\n";
print "<html><head><title>未記入です。</title></head>\n";
print "<body>\n";
print "<p>未記入です。</p>\n";
print "</body></html>\n";
exit;
}

139 :名無しさん@お腹いっぱい。:02/01/03 21:54 ID:???
>>138
thx

140 :名無しさん@お腹いっぱい。:02/01/03 21:59 ID:???
&error("hageが未記入です") if $hage eq "";
&error("aageが未記入です") if $aage eq "";

sub error {
my $msg = shift;
print <<"_EOE_";
Content-type: text/html

<html><head><title>未記入です。</title></head>
<body>
<p>$msg</p>
</body></html>
_EOE_
exit;
}

141 :名無しさん@お腹いっぱい。:02/01/03 22:04 ID:???
>>136

require 'cgi-lib.pl';
&ReadParse;
foreach (values %in){
if(!$_){エラー処理;exit;}
}

142 :名無しさん@お腹いっぱい。:02/01/04 03:53 ID:???
>>131
redirect.cgiとかそういうのを作って、redirect.cgi?url=http://foo/bar/
として呼び出すと
<meta http-equiv="refresh" content="0;url=http://foo/bar/">
というHTMLを吐くようにする。
んで、ブックマークスクリプトで表示するリストではredirect.cgiを使うよう
にすればOK。

143 :名無しさん@お腹いっぱい。:02/01/04 07:04 ID:???

ありがとう。

下のような感じなのかな
www.users.yun.co.jp/~moriq/lang/cgi/tips.html

適当に改ページの処理らしき所に突っ込んでみたけど動作せず。
# ページを決める
$total_page=@PAGE_START;

if($FORM{'page'} > 0){
if($FORM{'page'} > $total_page){
$disp_page = $total_page;
}else{
$disp_page = $FORM{'page'};
}
}else{
$disp_page = 1;
}
$next_page = $disp_page + 1;
$pre_page = $disp_page - 1;

if ( $ENV{'DOCUMENT_URI'} ) {
$page_name = $ENV{'DOCUMENT_URI'};
}
else {
$page_name = $ENV{'PATH_INFO'};
}
if($pre_page > 0){

&output_kiji_html;

大本のCGI
www.big.or.jp/~talk/t-club/soft/mini_r6/imgboard122r6.zip

144 :名無しさん@お腹いっぱい。:02/01/04 12:38 ID:+vgAy2bq
メールアドレスの形式を判定して
.comや.netや.orgや.to以外のドメインを弾く場合につかう
正規表現って?

.*@.*\.

この先がわかりません。

145 :デフォルトの名無しさん:02/01/04 12:50 ID:???
http://www.din.or.jp/~ohzaki/perl.htm#Mail
>>144
ここよく読んで拝借しなされ

146 :名無しさん@お腹いっぱい。:02/01/04 12:54 ID:+vgAy2bq
>>145
そんなに難しいもんなの?

if ( ! $mail eq .*@.\.[com,net,org] ){
ふせー
}

とか出来ないの?!萎えるなあ。。

147 :名無しさん@お腹いっぱい。:02/01/04 12:58 ID:???
難しいと思うならよく読めよ
簡単と思うなら自分で考えろ、お前は自分で自分を簡単な事も考えられない
馬鹿だと言いたいのか?
実は正規表現知らんだけちゃうんかと

148 :名無しさん@お腹いっぱい。:02/01/04 13:05 ID:???
結局、perlってダサイのか

149 :これでいいのかな?なんだ簡単じゃん。:02/01/04 13:09 ID:+vgAy2bq
$mail_regex =
q{(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\} .
q{\[\]\000-\037\x80-\xff])|"[^\\\\\x80-\xff\n\015"]*(?:\\\\[^\x80-\xff][} .
q{^\\\\\x80-\xff\n\015"]*)*")(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x} .
q{80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|"[^\\\\\x80-} .
q{\xff\n\015"]*(?:\\\\[^\x80-\xff][^\\\\\x80-\xff\n\015"]*)*"))*@(?:[^(} .
q{\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\0} .
q{00-\037\x80-\xff])|\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[^\x80-\xff])*} .
q{\])(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,} .
q{;:".\\\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[} .
q{^\x80-\xff])*\]))*};

if ($email !~ /^$mail_regex$/o) {
print "不正なメールアドレスです\n";
}

150 :名無しさん@お腹いっぱい。 :02/01/04 13:11 ID:???
>>148
うんダサいね、少なくとも君の半分位はダサい

151 : :02/01/04 13:28 ID:SyaInDky
アンケートフォームを使っているのですが、直接CGIのアドレスを入力して
CGIを呼び出すと空白の結果が送られてきて困っています。
直接CGIを呼び出したときにエラーのHTMLを表示させるにはどう追加記述すればいいでしょうか。

152 :>>151:02/01/04 13:32 ID:+vgAy2bq
if( $ENV{'REQUEST_METHOD'} eq "" ){

print "エラってる1\n";

}

153 :>>151:02/01/04 13:34 ID:+vgAy2bq
if( $ENV{'REQUEST_METHOD'} eq "" ){

print "エラってる\n";
exit;

}


#これをスクリプトの上に置く

154 :デフォルトの名無しさん:02/01/04 13:36 ID:???
荒れてるなぁ・・・・
>>149 まぁそんな感じで
>>151
環境変数を適当にチェックするか、フィールドをif($IN{hoge} eq ''){error;
みたいに検査すれば良い、、、、
が!、そんな認識でsendmailをopenしてるなら厨房の餌食にされる可能性が
凄く高いから根本的に本でも読むことをお勧めする

155 :デフォルトの名無しさん:02/01/04 13:37 ID:???
>>149 それは違う w

156 : :02/01/04 13:42 ID:SyaInDky
>>152
スクリプトの一番上に追加したらいいのですか?
それでもまだ駄目なようですが。

157 :名無しさん@お腹いっぱい。 :02/01/04 13:46 ID:???
そんな腐ったフォーム使うなよ (´д`;)
別のにしろ

158 : :02/01/04 13:47 ID:SyaInDky
>>157
なかなか良いのが無くて困っていたんです(;´Д`)

159 :名無しさん@お腹いっぱい。:02/01/04 14:01 ID:???
if ( ! ($ENV{'REQUEST_METHOD'} eq "POST") ){

print "Content-type: text/html\n\n";
print "<html><body>エラー</body></html>\n";

exit;

}

160 : :02/01/04 14:11 ID:SyaInDky
>>159
うまくいったようです。有り難う御座います。
あと送ってきたのホストを完全に取得する方法分かりますか?
今だったら、*.ocn.ne.jpのようにかなり曖昧なものなんです。

161 :名無しさん@お腹いっぱい。:02/01/04 14:21 ID:FMoA2DDO
use POSIX 'strftime';
print strftime "%Y%m%d\n", localtime;
こうやると年月日が出ると思うんですが、
この数字に7を足すことってできます?

ほかの方法があればその方法もご教授頂けるとありがdなんですが。

162 :名無しさん@お腹いっぱい。:02/01/04 14:50 ID:???
>>160
一概に言えない、改造したいなら改造スレへ

>>161
このスレッドも立てたの? (呆
http://pc.2ch.net/test/read.cgi/php/1010092390/l50

自分で考えられないなら諦めなさい
1970年からインクリメントしてコンペアすれば良いけど
無茶苦茶負荷掛かるだろうね

163 :名無しさん@お腹いっぱい。:02/01/04 14:54 ID:FMoA2DDO
ありがとうございます!!
スレッドは立てていないですけど助かってません!!
ほんと感謝してます♪

164 :名無しさん@お腹いっぱい。:02/01/04 15:39 ID:???
>>151
これだろ
www2q.biglobe.ne.jp/~terra/cgi/webhandler.htm

前にサポート掲示板に同じようなこと書き込んだら
「cgiには直接アクセスするような用途は想定していませんとか言いやがった。

こりゃ駄目だと思って自分で改造したけどね。

165 :名無しさん@お腹いっぱい。:02/01/04 16:02 ID:???
>>163 お前は何をしてるんだ? 笑
>>162も言ってるが、最もプリミティブなやり方ならフィールドを
分割した後ツェラーの公式で通算秒に直してやればいい
CPAN漁れば絶対有りそうだが、自分で書いても手間は掛からんだろ
ここは人が少ないんだから、次からはじっくり待つ方が良いぞ

166 :名無しさん@お腹いっぱい。:02/01/04 16:48 ID:ZcIQHoBD
KENTのPetitBoardに新記事のマークを付けるにはどうしたらようのでしょうか???

167 :名無しさん@お腹いっぱい。:02/01/04 16:51 ID:???
↑何でマルチすんだよ糞ガキ消えろ

168 :名無しさん@お腹いっぱい。:02/01/04 16:56 ID:ZcIQHoBD
うるせぇ俺は20歳だ。そんだけ気になっとんだ。

169 :名無しさん@お腹いっぱい。:02/01/04 16:57 ID:ZcIQHoBD
そんな事より即効で文句言うてめぇの方がガキだ。

170 :名無しさん@お腹いっぱい。:02/01/04 17:39 ID:???
じゃ教えるから消えてくれ
PETITのログには投稿日時が入ってるが変に整形されてしまっている。
だからログに細工して <>1000000000の 様なデータを追記して
書き出し時に比較するか、
元から入ってる、日本語表記の時刻から1970年からの秒数を割り出して
比較すればいい

171 :名無しさん@お腹いっぱい。:02/01/04 18:22 ID:+vgAy2bq
フォームを使って英数字や記号以外の物は弾きたいんですが、
(日本語やら記号やら全角は弾きたい)どう書くんでしょう。

$date =~ /[a-zA-Z]/

をifで使うと英数字がとりあえず入ってればよくなりますよね。
とにかく「全角物は排除」したいんですが。。。

172 :名無しさん@お腹いっぱい。:02/01/04 18:24 ID:???
修正

(日本語やら記号やら全角は弾きたい)

(日本語やら全角記号やら全角は弾きたい)

173 :名無しさん@お腹いっぱい。 :02/01/04 18:27 ID:???
$date!~/[^\w\dその他の記号]/

174 :名無しさん@お腹いっぱい。:02/01/04 18:29 ID:???
>>173
すいません、むちゃくちゃ簡単な花氏でした。。
特殊文字を忘れてた。

175 :名無しさん@お腹いっぱい。:02/01/04 18:30 ID:???
あ、間違えた(笑)

176 :名無しさん@お腹いっぱい。:02/01/04 18:39 ID:???
$name =~ /[\Wその他の記号]/

でいいと思われ

177 :名無しさん@お腹いっぱい。:02/01/04 18:40 ID:???
あ、よくなかった

#date =~ /[^\wその他記号]/

だな

178 :名無しさん@お腹いっぱい。:02/01/04 18:42 ID:???
# -> $

179 :あほ:02/01/05 19:53 ID:???
sub html {

print <<EOE;
Content-type: text/html

<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
</head>
<body>
<p>あほ</p>
</body>
</html>

EOE

return();

}

180 :あほ:02/01/05 19:55 ID:???
↑htmlを関数を作っておいて楽にしたいんだけど、
{}の中にタブを入れるとエラーになる。。。

print <<
ってタブいれらんないの?

181 :あほ:02/01/05 19:55 ID:???
いれらんねーとソースが見にくいんだよー

182 :名無しさん@お腹いっぱい。:02/01/05 20:07 ID:???
EOEの前にタブを入れたのかな?
ヒアドキュメントの最後の文字(この場合EOE)の前には入れられないよ。

183 :あほ:02/01/05 20:13 ID:???
>>182
どうもありがとうです。

184 :名無しさん@お腹いっぱい。:02/01/06 00:52 ID:4gpFhzTE
kentwebのアクセス解析をつかっています。
これのOS判別にWinXPがないんですが、
簡単に追加とかってできますか?

Web制作の初心者スレッドでこちらに誘導されました。

よろしくおねがします。

185 : ◆8WZMxnc2 :02/01/06 00:55 ID:???
ちょっと調べてくるから待ってろ。

186 :名無しさん@お腹いっぱい。:02/01/06 00:56 ID:d7n79FF9
>>185
えらーい!

187 : ◆8WZMxnc2 :02/01/06 01:05 ID:???
<Lesson1>
まずreport.cgiから以下の一行を探す。
elsif ($agent2 =~ /Wind?o?w?s? ?NT ?5/i) { $os = 'Win2000'; }
<Lesson2>
そしてこれをコピペで書き変える。
この行はWin2000の上にXPが無いと、XPも2000で
ヒットしてしまうから注意してくれ。
elsif ($agent2 =~ /Wind?o?w?s? ?NT ?5.1/i) { $os = 'WinXP'; }
elsif ($agent2 =~ /Wind?o?w?s? ?NT ?5/i) { $os = 'Win2000'; }

188 :184:02/01/06 01:28 ID:4gpFhzTE
◆8WZMxnc2さん、ありがとうございます。
さっそく、そのように直してみました。
WinXPの人がくるのを楽しみにしときます。

ありがとうございました。

189 :名無しさん@お腹いっぱい。:02/01/06 02:01 ID:???
/Wind?o?w?s? ?5/ なんで /Win(dows)? ?5/
としないのか小一時間(以下略

>>187
5.1じゃなくて 5\.1 だっぺよぉ。

190 :名無しさん@お腹いっぱい。:02/01/06 14:01 ID:IdoSmDBF
セミコロン ; ってどういう基準でどこにつけるの??

なんか本には基本すぎるせいか書いてない・・・鬱だ・・・

191 :名無しさん@お腹いっぱい。:02/01/06 14:04 ID:???
基準?
; を書きたい所でLの右隣のkeyを押せばいいんだよ

192 :名無しさん@お腹いっぱい。:02/01/06 14:15 ID:IdoSmDBF
いや、文末に必ずつけなきゃいけないの??
命令の終わりにつけるとか?

193 :名無しさん@お腹いっぱい。:02/01/06 14:17 ID:???
つーか言語何よ?
取り合えず文の終りに付けとけ
ついでにその本捨ててまともな本買え

194 :名無しさん@お腹いっぱい。:02/01/06 14:36 ID:???
>>190
rubyには特に;は必要ありません。
だから本にも書いてないのでしょう。

195 :名無しさん@お腹いっぱい。:02/01/06 14:51 ID:???
>>194
MS-DOSバッチファイルでは;は必要ありません。
だから本にも書いていないのでしょう。

196 :190 :02/01/06 14:54 ID:???
>193 194 195
すいませんperlです、InlineCの中にInlineAssemblerで書いています
それでは 是非回答願います

197 :名無しさん@お腹いっぱい。:02/01/06 15:01 ID:???
http://tohoho.wakusei.ne.jp/
ここでPerlのところを読むといいよ。
下手な本よりよっぽどマシ。

198 :名無しさん@お腹いっぱい。:02/01/06 18:53 ID:3vLHBFrh
えーとプレゼントキャンペーンの集計を1週間に1回やってます。
だんだんデータが重くなり、Excelにコピペするのもかなり大変。
で、1週間毎のデータになるよう、ある時間できって、前の週の
データを全部削除してお尻(後ろのカラム)のデータの並びが
時々おかしくなってるんで、それを直してると4時間はかかり
ます。普通はどんなやり方をやってるんでしょ?VBA?Perlで
スクリプト?なんかいいスクリプトの場所キボーン。

199 :名無しさん@お腹いっぱい。:02/01/06 19:13 ID:???
>>198
まず、落ち着いて日本語を書こう。
Perlなら楽だよ。

200 :198:02/01/06 22:09 ID:cayoIMr7
アンケートのデータを顧客データを1週間に1回集計。
ブラウザ上に表示されたものをコピペでエクセルに貼付ける。
(しかし、2000件を超えたあたりからCtrl+Aでブラウザ上の
テキストを全て選択すると砂時計が回ったままになる、)
この時前の週のデータは全て削除し、今週のデータだけにします。
あと、しかるべきカラムにないデータを移動。
これが1万件ぐらいあると、スクロールして全部見るだけで、とても
時間がかかる、どうしよう?というのが質問の主旨です。

201 :名無しさん@お腹いっぱい。:02/01/06 23:05 ID:???
>>200
書き込む前に読み返してる?伝わりにくいったらありゃしない。
で、質問が漠然とし過ぎてる。
顧客からどういうデータを取って、どういう集計をして
最終的にどういうデータを得たいのかをはっきりさせて、
今はどうしてるのかを書かないと誰も答えられないよ。

並びがおかしくならないまともな集計スクリプト書いて、
エクセルファイルで出力したら?としか言えない感じ。

202 :名無しさん@お腹いっぱい。:02/01/06 23:32 ID:???
>>200
>ブラウザ上に表示されたものをコピペでエクセルに貼付ける。
>(しかし、2000件を超えたあたりからCtrl+Aでブラウザ上の
>テキストを全て選択すると砂時計が回ったままになる、)

IEだったら、「名前を付けて保存」っていうのがあるはず。
テキスト形式で一度それを保存して、そいつをExcelで開くように
したら?

つーかCGIの問題ですかこれ?

203 :名無しさん@お腹いっぱい。 :02/01/07 00:13 ID:???
初めからcsvかxsl吐けば良いかと
IEか固まるのは多分CGIではどうしようも無ぃ

204 :名無しさん@お腹いっぱい。:02/01/07 00:42 ID:BlOU+qgT
集計機能付きアンケートフォームみたいなスクリプトって
ひどく一般的な気がするんです。
あちこちにあると思います。それこそ。
ただ、それつかってどういうことがやりたいのかとか、
どういう集計をしないといけないので手作業してて、4時間もかかるのか
とか、いろいろ具体的に書けば書くほど、アドバイスをもらいやすくなるんでしょうね。

こういう集計とかって、Perlの得意分野なので、内容次第では、
ここですごいアドバイスがもらえると思いますよ(笑)

205 :名無しさん@お腹いっぱい。:02/01/07 06:55 ID:HrNqkraE
画像のみをアップロードできるCGIを探しています。
みんなが投稿できるようなタイプのものです。
そういったCGIを提供しているところご存知ありませんか?

206 :名無しさん@お腹いっぱい。:02/01/07 10:22 ID:???
>>205
ttp://www2.inforyoma.or.jp/~tokaji/cgitech/upload.htm

207 :名無しさん@お腹いっぱい。:02/01/07 20:43 ID:???
2chみたいなスレッドフロート式掲示板作ってるんですが、
同じリモートホストからスレ立て制限する方法ってありますか?

208 :マジレスしていいのか?:02/01/07 20:52 ID:???
>207
スレ立て時にリモホを記録して、一定回数以上のリモホを弾く。

209 :207:02/01/07 21:06 ID:???
>>208
ありがとうございます。
あとは自力でなんとかしてみます。

210 :名無しさん@お腹いっぱい。:02/01/08 00:49 ID:RDtLz+8f
添付ファイルを送るプログラムで参考になる物(サイト)ありますか?

211 :210:02/01/08 00:55 ID:RDtLz+8f
あ、ローカルファイルの参照ではなくサーバー上とか
CGIと同じディレクトリにあるファイルを送りたいのです。

212 :名無しさん@お腹いっぱい。:02/01/08 01:59 ID:???
CGI.pm

213 :名無しさん@お腹いっぱい。:02/01/08 02:00 ID:???
>>210
とりあえず、これでも読んどけ。
ttp://www.hypermail.org/rfcs/rfc2112.html

214 :名無しさん@お腹いっぱい。:02/01/08 02:11 ID:???
>>213
その手のRFCの日本語訳しているページってどこでしたっけ?

215 :名無しさん@お腹いっぱい。:02/01/08 04:55 ID:bkocNLwM
>>142
その方法でも、redirect.cgi が Referer として渡されちゃいますよね。
redirect.cgi がもっと広範囲で使われてるならいいんですが、
そのブックマーク用スクリプトからしか呼ばれないのなら
結局同じような気がします。
(redirect.cgi から来た → ブックマークされとる)

216 :名無しさん@お腹いっぱい。:02/01/08 07:03 ID:???
>>215 本当に試してみたの?

217 :名無しさん@お腹いっぱい。:02/01/08 07:24 ID:???
>>216
あひっ、試したら Referer 渡されてませんでした。
試しもしないで偉そうなこといってごめんなさーい。
ありがとうでした。

218 :名無しさん@お腹いっぱい。:02/01/08 07:30 ID:mMhN1vkm
phpとかperlからメール送るとき、
errry-to やreply-to って、つけるべきなんでしょうか?
Fromだけで十分ではないんでしょうか?

219 :名無しさん@NEmacs:02/01/08 07:42 ID:IRCUA1xT
s/errry-to/Errors-To/ として答えます。

Errors-To: は非標準フィールドなので、つけても無意味です。内部的にこの
フィールドを利用してエラーメール返送する MTA がありますが、それを期待
するべきではありません。(これは UUCP 時代の名残です。)

Reply-To: は、返信先を指定したいような事情があるときにつけます。MTA は
通常これを参照しません。これを参照するMTAは腐っています。

必要であれば、エンベロープ送信者も指定します。エラーメールはこのアドレ
スに返送されます。(sendmail の -f オプション)

MTA = Mail (Message) Transfer Agent

# From: とエンベロープ送信者、To:, Cc: とエンベロープ受信者は別物です。念のため。

220 :名無しさん@お腹いっぱい。:02/01/09 00:15 ID:nYi4jqfK
文字(日本語)のデコードにjcode.plをつかってるんだが、
半角のみ(ゴルァとか)でデコードすると、文字化けして転送されてしまいます。
コードは'sjis'で設定してるんですが、ほかに何か割るいとこがあるんですか?
おまえら押しえてください。

221 :名無しさん@お腹いっぱい。:02/01/09 00:30 ID:???
元コード種の自動判別に失敗してるので手動で指定する。

222 :名無しさん@NEmacs:02/01/09 01:34 ID:EMrXtxph
そもそも「半角」を使うのがダメ。
(「半角」が混じると、EUC-JP と Shift_JIS の判定が困難になる。)

# ここで、「半角」= JISX0201 Kana

223 :よみ:02/01/09 10:32 ID:C5sUC2Kc
超初歩的な質問で申し訳ないんですが
あるファイル(10行のファイル)をOpen読み込んでたとえば5行目とかを消すもしくは置き換えるのにはどうしたらよろしいでしょうか?
お教えください

224 :名無しさん@お腹いっぱい。:02/01/09 11:26 ID:???
>>223
Perlかな? 一番簡単な方法、たぶん。

# ファイル(hoge.txt)を開いて配列に突っ込みます
open FH,"+< hoge.txt" or die $!;
@lines = <FH>;

# 5行目をあぼ〜んする場合です
splice @lines,4,1;

# 5行目を置き換える場合です
$lines[4] =~ s/NO/YES/;

# 書き戻します
truncate FH,0; seek FH,0,0;
print FH @lines; close FH;
exit;

225 :名無しさん@お腹いっぱい。:02/01/09 12:11 ID:???
>>223
DB_FileのDB_RECNOを使う

use DB_File;
use Fcntl qw(:flock);

my $db = tie @lines, DB_File => 'hoge.txt', O_RDWR | O_CREAT, 0666, $DB_RECNO or die $!;

# ロックする場合
open DBF, '+<&=' . $db->fd or die $!;
flock DBF, LOCK_EX or die $!;
undef $db;


# 5行目をあぼ〜ん (spliceは実装されてない?)
delete $lines[4];

# 5行目を置き換える
$lines[4] =~ s/NO/YES/;

untie @lines;

226 :よみ:02/01/09 12:32 ID:C5sUC2Kc
>>224,225
親切にありがとうございました。
しかし我ながら223のようなわかりにくい文章書いてるな。
あーはずかし!

227 :よみ:02/01/09 13:01 ID:C5sUC2Kc
>>225
しつもんです。
lines[4] =~ s/NO/YES/; だと、5行目のNOのところだけYesに置きかわるんじゃないですか?

228 :名無しさん@お腹いっぱい。:02/01/09 13:26 ID:???
>>227
そうだね。

229 :名無しさん@お腹いっぱい。:02/01/09 13:54 ID:???
DB_Fileってベタファイルにも使えるのかぁ・・・・・・ふむふむ
>227
lines[4] = "新しく挿入したい文字列";
だよ。
後は検索しよー

230 :_:02/01/11 00:46 ID:w8TxSfcA
cookieについて質問です。
cookieを1回の表示で2つ保存期間の違うものを保存したいのですが、
どのようにすればよいのでしょうか?

以下のようにすると、同じファイルに保存されます。

<META HTTP-EQUIV=Set-Cookie CONTENT=cgi_cookie=$c_value;expires=$del_date>
<META HTTP-EQUIV=Set-Cookie CONTENT=lim_cookie=$c_u_value;expires=$del_date_u>

教えてください。

231 :名無しさん@お腹いっぱい。:02/01/11 01:17 ID:???
名前で区別したら別々に取得できるんじゃないの?

232 :_:02/01/11 01:31 ID:bEyApFVZ
>>231
名前を変える方法を教えていただけませんか?

233 :名無しさん@お腹いっぱい。:02/01/11 05:19 ID:islSeYg6
>>232
>>231じゃないが、取得するときに(どうやってるかしらんが、ハッシュ?)
そのメタタグに書いてある名前で判断すればよいということじゃないの?

234 :名無しさん@お腹いっぱい。:02/01/11 13:27 ID:2aMDT30w
初心者の質問ですみません。
掲示板の名前欄で、デフォルトで最初から任意の文字を入れておくには
どうしたらいいんですか?
例えば名無しさんと最初から名前欄に入れておきたい場合、
$name = $FORM{'name'};
となってるのを下のものに変えるだけじゃだめなんですか?
$name = $FORM{'name'} ||= "名無しさん";

これだとダメだったので、他に変える部分が必要なんでしょうか?

235 :名無しさん@お腹いっぱい。:02/01/11 13:39 ID:???
$name = $FORM{'name'} || "名無しさん";

||= じゃなく ||

236 :名無しさん@お腹いっぱい。:02/01/11 14:03 ID:IFHU684G
アクセス解析のCGIを入れたいのですが
そういうのって、サーバに負担がかかりやすいものなのでしょうか?
うちは、BBSを5つにチャットを2つ(全部さびれててますが)
カウンタも自分でCGIを探してきて用意してるので
負担をかけすぎて迷惑にならないか、心配です。

237 :名無しさん@お腹いっぱい。:02/01/11 14:48 ID:???
>236
アクセス解析は,呼び出される度に書き込むBBS みたいなものだから
ログサイズとアクセス数によりけり

238 :234:02/01/11 14:51 ID:2aMDT30w
>>235
ありがとうございます。
それでやってみましたが、名無しさんと入らなくて空白のままでした。
どうしてだろう…

239 :名無しさん@お腹いっぱい。:02/01/11 14:58 ID:???
>234-235,>238
ローカルでテストしたら両方とも成功しました。
Perlのバージョンが古いとかはありませんか?
Perl4だとエラーが出たような。

240 :240:02/01/11 15:00 ID:3F158jXQ
2ちゃんねるそっくりな掲示板をNTで構築したいと考えています
NTにはわからないなりにもAnHTTPDとPerl for Win32を
いれて動かそうと考えています
2ちゃんねるそっくりな掲示板ソフトというのはあるのでしょうか?
教えてください

241 :名無しさん@お腹いっぱい。:02/01/11 15:02 ID:???
>240
http://pc.2ch.net/test/read.cgi/php/1003132904/
スレタイトル読みましょう。

242 :あほな質問かも:02/01/11 15:09 ID:???
>>13さんのようにダイヤログを表示させてそこにファイルをいれたいんですが
まったくもってよくわかりません。

use CGI;

$query = new CGI;
print $query->header(-type=>"application/octet-stream", -attachment=>'data.txt');
$filename = $query->param('attachment');

open OUT,">>data.txt" or die "OUT miss\n";
print OUT @hoge;
close OUT;

こんな感じかと思ったんですができません。

243 :名無しさん@お腹いっぱい。:02/01/11 15:18 ID:???
>>242
>>13 はダウンロードの話じゃない?

244 :243:02/01/11 15:21 ID:???
ああごめん,アップロードしたいのかと読んじゃった。
ファイル開かずにそのまま print @hoge; とかでいけない?

245 :242:02/01/11 15:58 ID:???
>>243-244
おお、なるほど。できました。ありがとうございます。
4時間ほど悩んでおりました;

しかしダウンロードするファイル名がCGIの名前(これはtest.cgiでやってるの
でtest.cgiという名前)になってしまうんですよねぇ(^^;
もうしばらく格闘してみます。

感謝

246 :名無しさん@お腹いっぱい。:02/01/11 17:11 ID:EHUnad42
CGIの中にHTMLを組み込む(表現おかしいかも・・・)
時って 1 のような感じになりますよね。

<font size=\"3pt\" color=\"$color1\">  ←1とする。
<font size="3pt" color="$color1">    ←2とする。

1 のようにしたときと 2 のようにしたときでは表示が違うのですが・・・。(文字の大きさ)
2 のような感じで表示したいのですが・・・インターネットサーバーエラーがでてしまいます・・。
どうにかできないでしょうか?

247 :名無しさん@お腹いっぱい。:02/01/11 17:16 ID:???
print "<font size=\"3pt\" color=\"$color1\">"; ←<font size="3pt" color="$color1の内容">
print '<font size="3pt" color="$color1">"; ←<font size="3pt" color="$color1">

言いたいことがよくわからん
つか3ptなんて記述は間違ってるぞ

248 :名無しさん@お腹いっぱい。:02/01/11 17:24 ID:???
print qq(<font size="3pt" color="$color1">);
"の中には"を使えないのは知ってるかな?

ちなみに3ptってのはスタイルシートで使う単位だから
そのままでは使えないよ。

249 :名無しさん@NEmacs:02/01/11 21:15 ID:fZtnJrfW
重箱の隅をつつきにきました。

>>234, >>235
||= でも、$name = ($FORM{'name'} ||= "名無しさん");と解釈されるので特
に問題はないかも。この場合、$FORM{name} が偽の場合、$name, $FORM{name}
が「名無しさん」になります。

あと、$FORM{name} が偽、すなわち $FORM{name} == 0 の場合でも「名無しさん」
になっちゃうので注意。"" と比較するのが吉かもしれず。

250 :235:02/01/11 23:11 ID:6cFSC0f9
んじゃ
$name = ($FORM{name} eq "") ? "名無しさん" : $FORM{name};

251 :名無しさん@お腹いっぱい。:02/01/12 12:41 ID:bQnlwZdC
あと、ptは正しい単位じゃないのでpxで指定しよう。fontタグに
style="text-size: 9px"とか埋めればよし。
だいいち、3ptってPCじゃフォントがつぶれて読めないが・・・

それに元々qqいらないな、この場合

<font size=3 color=$color1>でいいんじゃ?

252 :名無しさん@NEmacs:02/01/12 17:52 ID:???
>>251
ハァ?
http://www.w3.org/TR/REC-CSS2/syndata.html#length-units

253 :_:02/01/13 00:12 ID:gKFm/uwA
質問です。

dateという名前の配列があり、$date{'check1'}、$date{'check2'という風に
数が上がっていきます。
forループで i の値を1からインクリメントし、その i の値を使って配列中
の全ての要素に同じ事を実行する際に

$date{'check$i'}

みたいなことはどのようにすればよいのでしょうか?

254 :名無しさん@お腹いっぱい。:02/01/13 00:35 ID:???
>>253
%date = (check1 => one, check => two);
として,
素直にやるなら
for (my $i=1; $i<=2; $i++){
 print $hash{"hoge$i"};
}
とかやる。

だけど,これだとハッシュ使う意味が無い。
@date_checkとかの配列使うほうがいいのでわ。

255 :_:02/01/13 00:39 ID:gKFm/uwA
>>254
ありがとうございました。
@date_checkでやります。

256 :名無しさん@お腹いっぱい。:02/01/13 12:41 ID:???
Yomi-search ver4.19なんですが、
ランキングとかをSSIで1部だけ表示することは可能らしいんですが、
初心者なのでどう記載すればいいかわかりません。

どなたかご教授ください。

257 :名無しさん@お腹いっぱい。:02/01/13 12:46 ID:???
板ちがいでした。すいません。

258 : :02/01/14 01:36 ID:LNUBzUKr
質問させて下さい。

掲示板CGIで、ここ2Chのように半角カタカナを表示できるようにしたいのですが
(例) (ワラ  (バク   など
どこをイジればよいのかわかりません。
具体的にはKENTさんのhoneyboardを改造したいのですが・・・。

http://members.tripod.co.jp/pokochin_denpato/honey.txt

それともjcode.plの方をイジるのでしょうか?
どうかお力をお貸し下さい。宜しくお願いいたします。

259 :名無しさん@お腹いっぱい。:02/01/14 01:55 ID:a1RCZc6A
漏れの場合は、フォームデータをコンバートするとこで、

$gCode = jcode'getcode(*value);
jcode'convert(*value,$gCode);

とやってる。一応うまく逝ってるが。
*valueは変換する文字列データが入った$valueのグロブ。

260 :259:02/01/14 01:56 ID:a1RCZc6A
>>258

261 :258:02/01/14 02:14 ID:LNUBzUKr
259さん、御回答ありがとうございます!
えっと、これはCGI本体の中を書き換えるんですよね?
デコード処理のところで

# S-JISコード変換
&jcode'convert(*value, "sjis", "", "z");

# タグ処理
if ($tagkey) { $value =~ s/<>/<>/g; }
else {
$value =~ s/\&/&/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
}

というのを見つけたんですが、ここで良いのでしょうか?

262 :259:02/01/14 02:29 ID:a1RCZc6A
それでいいと思う。

263 :258:02/01/14 02:39 ID:LNUBzUKr
>>262
ありがとうございます。挑戦してみます。

264 :名無しさん@お腹いっぱい。:02/01/14 02:44 ID:WCoaMU5B
すみません。教えて下さい。

CGIから、sendmailを使って、メールを送ろうとしているのですが、
他のCGIをマネて、

if (open(MAIL,"| $sendmailpath $mailaddress")) {
print MAIL "To: $mailaddress\n";
print MAIL "From: $mailfrom\n";
print MAIL "Subject: $subject\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "X-Mailer: $mailer\n\n";
(中略)
close(MAIL);
}

このように書いたのですが、
メールヘッダの部分が、ちゃんと受け取れる(Subject等がちゃんと反映される)宛先と、
ちゃんと受け取れずに、Subjectとかが本文に含まれちゃう宛先があります。

ちゃんと全てのメールアドレスのヘッダに反映されるようにするには、
どのような書き方をしたらいいのでしょうか?

それとも・・・メールサーバ側の問題なのでしょうか?

265 :名無しさん@NEmacs:02/01/14 03:06 ID:Xxk0RT5R
改行をチェックしろ。

$mailaddress =~ tr/\r\n//d;

266 :名無しさん@NEmacs:02/01/14 03:07 ID:Xxk0RT5R
というか、$mailaddress のチェックはキチンとしているの?
$mailaddress = "|rm -rf ~" とかやられたりすると危険だよ。

267 : :02/01/14 03:37 ID:2XDiqt89
> 264

CGIからのメールは送信元と送信先が固定の場合のみ利用するのがおすすめです。

メールは必ずJISコードに変換しましょう。

件名(Subject)および送信元(From)が日本語を使用する可能性がある場合はbase64エンコードを施しましょう。

268 :名無しさん@お腹いっぱい。:02/01/14 06:22 ID:U3ggfQwh
すいません、少し前にマルチバイトを含む文字列を一文字ずつ扱う方法を書いてた方がいらっしゃったはずなんですが、
そのログがさっきから見つかりません。どなたか覚えてる方いませんか?
こんな↓感じの奴です。

$str = "ABCDEFGあいうえお";
for ($i = 0; $i < length($str); $i++) {
$c = substr($str, $i, 1);
if ($c =~ /[\x80-\xff]/) {
$c = substr($str, $i++, 2);
}
print "[$c] ";
}

これをShift-JIS等にも対応させてた気がするんですが…

269 :名無しさん@お腹いっぱい。:02/01/14 14:26 ID:???
マジレスしておくと、入力と出力はSJISでいいから、
内部で扱うときはEUCにしておいた方が何かと楽だと思うがどうよ?

270 :268:02/01/15 00:25 ID:64oBMleE
外部から受け取ったデータを一旦EUCに換えて、出力時にSJISに戻すということでしょうか?

271 :名無しさん@お腹いっぱい。:02/01/15 01:55 ID:ueOEc5lO
>>270
スクリプト自体は多分EUCだからそうしたほうがいいような
IISだったら話はべつだけど

272 :名無しさん@お腹いっぱい。:02/01/15 16:41 ID:6vPjko5F
CGIのなかで取得できる環境変数のなかで、以下のものは
クライアント(あるいはPROXY)に書き換えられるような恐れは
ないのでしょうか?

REMOTE_ADDR
REMOTE_PORT

273 :名無しさん@お腹いっぱい。:02/01/15 17:47 ID:???
REMOTE_ADDR, REMOTE_PORT 共に PROXYのものになります。

274 :名無しさん@お腹いっぱい。:02/01/15 17:58 ID:6vPjko5F
すいません。「PROXYのものになります。 」っていうのが
仮に PROXYから
REMOTE_ADDR=127.0.0.1
などと逝ってきたばあいに、サーバがその変数を信用してしまう
のか、それともPROXYとの接続結果からサーバが
REMOTE_ADDR を計算するのか、どちらなんでしょうか、 という
ことなんですけど セキュリティ板の方がいいですかね?

275 :名無しさん@お腹いっぱい。:02/01/15 20:19 ID:vgO+6jY4
http://www.cj-c.com/cgi_s/access.htm
これについて質問があります。

http://www.japandeep.com/
収録したRefererを↑のように表示したいのですが
どういうタグを付ければいいのですか?
SSIで表示させてるみたいなんですが。

276 :名無しさん@お腹いっぱい。:02/01/15 20:23 ID:???
>>274
プロキシが言ってくるとかじゃなく、プロキシのIPアドレスになります。
変更はされません。

277 :名無しさん@お腹いっぱい。:02/01/15 20:24 ID:ori6SaQV
今度、自分のHPにFLASHによりつくられているBBSを
設置しようと思ってるんですけど、そういうのって
鯖への負担は普通のBBSと一緒なのでしょうか?

あんまりプロバの鯖に負担をかけなくないので気になってしまいました。

278 :名無しさん@お腹いっぱい。:02/01/15 20:35 ID:???
>>277
借りてるサーバだったら、文句いってくるレベルが迷惑なレベル。
正直、サーバのCPUとかメモリとかOSのカスタマイズによって
全然違うから一概にはいえない。

279 :名無しさん@お腹いっぱい。:02/01/15 20:42 ID:???

. ∧   ∧
( ´ ・∀・`) へー

280 :名無しさん@お腹いっぱい。:02/01/15 22:22 ID:6vPjko5F
>>276
THX
とりあえず信用置ける値であるということですね。

281 :名無しさん@お腹いっぱい。:02/01/15 23:30 ID:rRhCMmF5
投票用のスクリプトを作ってるんですが
重複を防ぐためクッキーを発行するんですが
クッキーを入れていないと投票できないようにしようと思い

if(!$ENV{'HTTP_COOKIE'}){&err('クッキーをオンにしてください')}

みたいにしたんですがクッキーをONにしててもこのエラーが起こるらしいです
どうすればよろしいんでしょうか?

282 :名無しさん@お腹いっぱい。:02/01/15 23:45 ID:???
>>281
HTTP_COOKIEはすでに保存されているものが入ってるんじゃ?
一度クッキーを保存するまではヌルなので、エラーが出ると思いますが。

で、クキーオンオフの調べ方ですが、
いい方法かわかんないけど、一度保存して読み出してヌルだったらクキーオフ
ってことでいいんじゃないかな?

283 :名無しさん@お腹いっぱい。:02/01/15 23:45 ID:DCX0dA6k
PerlのCGIでクライアントから送られてきたHTTPヘッダフィールドを参照する方法ってあります?

284 :名無しさん@お腹いっぱい。:02/01/16 00:19 ID:???
>>283
HTTPヘッダのどの情報が欲しいわけ?

285 :283:02/01/16 00:26 ID:hTcSGOIC
>284
J-PHONEの携帯の位置情報が
x-jphone-geocode
っつーヘッダで送られてくるそうなんですが

286 :名無しさん@お腹いっぱい。:02/01/16 01:07 ID:???
>>285
よくわからん。それの情報ソースある?
(JPHONEのページ調べてみたが乗ってなかったんで)

287 :名無しさん@お腹いっぱい。:02/01/16 05:32 ID:???
> 283

HTTPプロトコルで送信された以上、Webサーバがまずレスポンスを受けて解釈されるからHTTPヘッダそのものをQ照するのはできない相談でゲスねー。

まあ幾つかは環境変数%ENVにセットされるけどねー。

取り敢えず環境変数をすべて出力してみて”J-PHONEの携帯の位置情報”を示すものがあるかどうか確認してみ驍オかないねー。

288 :名無しさん@お腹いっぱい。:02/01/16 06:40 ID:b610iUlz
おうちのあぱっちで試したら、J-Phone の拡張したやつは
HTTP_X_JPHONE_* って環境変数で渡されてるね。
というか、ヘッダはHTTP_* って形で全部渡される仕様なのかな。

Hoge: hage!
Huga: huga-

ってかんじのヘッダ付けたら、きちんと HTTP_HOGE、HTTP_HUGA って環境変数
に入ってくれたよ。

289 :名無しさん@お腹いっぱい。:02/01/16 09:30 ID:???
. ∧   ∧
( ´ ・∀・`) へー

290 :283:02/01/16 11:40 ID:lifKMDMs
っつーことは
$ENV{HTTP_X_JPHONE_GEOCODE}
で取り出せるんですかねぇ。
一番最初にやってみたんですけど駄目でした。
もうちょっと頑張ってみます。
ソース
ttp://www.dp.j-phone.com/ichi.html
4M弱のPDFの中にしか書いてなかった...

291 :名無しさん@お腹いっぱい。:02/01/16 13:19 ID:vsX2ZxEL
>>290

#!/path-to-perl/perl

print <<HEADER;
Content-type: text/html

<html>
<head>
<title>Environment list</title>
</head>
<body>
<dl>
HEADER

print "<dt>$key</dt><dd>$value</dd>\n" while ( $key, $value ) =each( %ENV );

print <<FOOTER;
</dl>
</body>
</html>
FOOTER

これやって、とりあえず環境変数のリスト出してみるとか。

対応機種じゃないやつで試してるとか....

292 :名無しさん@お腹いっぱい。:02/01/16 13:23 ID:fQPtm0ns
◎●モー娘。&あゆのお宝画像満載!!◎●
http://www.media-0.com/www/otakara/otakara.html

◎●今なら2日間無料で某女子高校のトイレをのぞける!お早めに!◎●
http://www.media-0.com/www/otakara/nozoke.html

293 :親切な人:02/01/16 13:26 ID:???

大金持ちになれる方法を教えます!!!

下記のホームページを観て下さい↓
http://www.guruguru.net/auction/selleritem.php3?list=10&userid=17721

宜しくお願い致します。

294 :名無しさん@お腹いっぱい。:02/01/16 14:44 ID:meMdeL+L
短文で恐縮ですが、CGIでクライアントの
MACアドレスって取得できるんでしょうか?

295 :名無しさん@お腹いっぱい。:02/01/16 14:47 ID:gVWdvgji
ここで聞くのが正しいのか自信がないのですが。

ホスト上に保存された漢字を含むファイルの、漢字コードを調べたい
と思います。

単純に、ホスト上のファイルがどのコードを使っているか知りたいだけ
なので、ファイルをダウンロードしてそのファイルを開くだけで
どのコードか表示してくれるようなソフトはないでしょうか?

Vectorでざっと見たところ「漢字コードを変換してくれる」ソフトは
見つかるのですが、単純に「判断してくれる」ソフトが見当たらない
のです。

どうか、ご教授お願いします。

または、Telnet上でやれる裏技がありましたら教えてください。

296 :名無しさん@お腹いっぱい。:02/01/16 14:49 ID:gVWdvgji
よく考えたら、Web製作板の方がよかったかな?

CGIで、漢字が化けるという問題について必要に駆られたと
いうことで、どうかひとつお許しください。

297 :名無しさん@お腹いっぱい。:02/01/16 15:54 ID:???
>>295
まったくもって板違い。Web板でもない。ソフトウェア板でしょ。
http://ash.or.jp/ash/src/code/

298 :名無しさん@お腹いっぱい。:02/01/16 21:29 ID:5Ojr765Z
初心者なんですが教えてください。
if ($r9 eq "$street")
って$r9が$streetと同じと気ってことですよね?
もしこれを$streetの文字列の中に$r9の文字列が含まれているときに・・・っていう場合にはどうすればいいでしょうか?
$streetにはスペース区切りで複数の言葉を入力するようにしているのでその中のひとつが一致した場合に・・・というようにしたいです。
宜しくお願いします。

299 :名無しさん@お腹いっぱい。:02/01/16 21:32 ID:???
>298
そこまで勉強できたんなら、その後も自分で勉強できるよな?
http://tohoho.wakusei.ne.jp/
http://tohoho.wakusei.ne.jp/wwwperl1.htm#Expr
がんばれ。

300 :298:02/01/16 21:38 ID:???
ありがとう。おかげさまでなんとかできそうです。
頑張ってみます。

301 :名無しさん@お腹いっぱい。:02/01/16 22:36 ID:???
>>294
無理。

302 :アタックは止せ:02/01/17 05:18 ID:???
>293
大金持ちになれるCGI??

303 :名無しさん@お腹いっぱい。:02/01/17 11:49 ID:ouB3hVAd
LWPってBIGLOBEとかでも使えるんでしょうか?
LWPの使い方みたいなサイトは沢山見つけたんですけど
それ以前にDLしてきたモジュールを何処に置いたら良いのかとかの
初歩的な事が散々悩んだんですが解りません、どなたか教えてください。

今やりたい事はCGIを設置するアドレスと全く違うアドレスから
ファイルの更新日時を拾うという作業です

もし詳しく説明しているサイトとかあれば
何とか頑張ってみますのでURL教えてください。

304 :名無しさん@お腹いっぱい。:02/01/17 13:36 ID:???
>>303
LWPがBIGLOBEで使えるかなんてBIGLOBEに聞けばぁ?
なつみかんとか、更新チェッカーのCGIを参考にすれ

305 :しゅっと:02/01/17 14:25 ID:QKo5a2GA
はじめまして、しゅっとといいます。
Perl超初心者です。下記のソースを実行しても
jpeg画像がブラウザに表示できないです。
Hello cgi world 「×」と表示されてしまいます。
どこがおかしいのか分からず悩んでいます。よろしくお願いします。
#!/usr/bin/perl
print "Content-type: text/html";
print "<html>";
print "Hello cgi world.";
print "<IMG src=test.jpeg>";
print "</html>";

306 :名無しさん@お腹いっぱい。:02/01/17 14:26 ID:wRcZzrUC
>303
コンパイルが必要なモジュールは、使えないことの方が多いよ。
コンパイルが必要ないモジュールは(含む、LWPの古い奴とか)、
カレントディレクトリに置いてあれば使えるよ。

307 :名無しさん@お腹いっぱい。:02/01/17 14:27 ID:wRcZzrUC
>305
jpeg画像の拡張子がjpgになってないか、JPGになってないかJPEGになってないかとか調べる。

308 :名無しさん@お腹いっぱい。:02/01/17 14:29 ID:wRcZzrUC
>305
あと、
print "Content-type: text/html\n";
のほうがいいかも。

309 :名無しさん@お腹いっぱい。:02/01/17 16:58 ID:???
print "Content-type: text/html\n\n";


310 :しゅっと:02/01/17 17:32 ID:QKo5a2GA
>309
ありがとうございます。
しかしながら、出来なかったです。
jpegファイルは、cgiファイルと同じディレクトリにあります。
print "Content-type: image/jpeg\n\n";としましたけど、
駄目でした。。。う〜ん。。。

311 :名無しさん@お腹いっぱい。:02/01/17 17:41 ID:???
>310
そのディレクトリに以下の内容のHTMLファイルを置いて表示してみましょう。
↓↓ここから↓↓
<html>
Hello cgi world.
<IMG src=test.jpeg>
</html>
↑↑ここまで↑↑
CGIの責任には思えないよ。

312 :名無しさん@お腹いっぱい。:02/01/17 17:43 ID:???
あ、一つ思い付いた。

そのCGIをまさか、Webサーバー上で試してないよね?
プロバイダのスペースや無料スペースで試してないだろうね?
場所によっては、CGIの動くフォルダで画像とか開けない事もあったはず。
jpegファイルを直URLで確認したり、>311で言ったように
HTMLだけで表示してみたりしてみそ。

つーか、CGIのテストはローカルでやりましょう。
http://tohoho.wakusei.ne.jp/wwwcgi6.htm

313 :しゅっと:02/01/17 18:12 ID:QKo5a2GA
>312さん
htmlファイルを置いて表示したところ、以下のエラーログが出ました。
[Thu Jan 17 18:10:07 2002] [error] (8)Exec format error: exec of /usr/local/www/cgi-bin/test.html
failed
[Thu Jan 17 18:10:07 2002] [error] Premature end of script headers: /usr/local/www/cgi
-bin/test.html
現在は、ローカルで行なっています。
また、/usr/local/htdocs/test.htmlは上手く表示されましたが、
/usr/local/cgi-bin/test.htmlは駄目でした。
それぞれのディレクトリにtest.jpegを置いています。

314 :名無しさん@お腹いっぱい。:02/01/17 18:13 ID:cCcCBdng
CGIの負荷を自分のPC(ウィンドウズ98)で
調べる方法とかないでしょうか?
アップロードする前に、使うCGIが同程度の負荷なのか
知りたいのですが・・・。


315 :名無しさん@お腹いっぱい。:02/01/17 18:18 ID:???
>313
それじゃあ、そのサーバーではcgi-bin内ではCGI以外は使えない。
別のフォルダに画像を置いて、そこへのリンクを貼るのがいいよ。

316 :しゅっと:02/01/17 18:19 ID:QKo5a2GA
>314
名無しさん@お腹いっぱいさん何度もありがとうございます。
CGIの負荷とは。。。意味がわからないです。
あかん。。。ううう。。。


317 :名無しさん@お腹いっぱい。:02/01/17 18:40 ID:???
>>316のしゅっとさん
>>314はあなた宛てのレスではないと思われ。
あと、「名無しさん@お腹いっぱい。」さんは
ひとりの人物ではないよ。
くわしーことは
「同じ名前の人がたくさん投稿してるけど誰?」
http://www.2ch.net/guide/faq.html#C6
を参照。

318 :日曜大工:02/01/17 18:57 ID:FQdE7hBK
はじめまして。
複数の検索サイトをプルダウンで選べて、
その選んだ検索サイトから検索できる検索エンジンで、
フリーのプログラムやソースを公開してる所とかありますか?
イメージ的には、ISIZEのやつが良いのですが。。。
知ってる方がいらっしゃれば、教えてください。
よろしくお願いします。

319 :名無しさん@お腹いっぱい。:02/01/17 19:04 ID:???
>318
とりあえず↓ここで。
http://pc.2ch.net/test/read.cgi/php/1003132904/


320 : :02/01/17 20:44 ID:???
http://wow.bbspink.com/test/read.cgi/girls/1011104643/
このスレッドの3番目のサイトいってみたんだけど、
こういうCGIってどっかで配付してません?
「自分で書けや!」ってのはやめてね。書く能力ないから。

321 :名無しさん@お腹いっぱい。:02/01/17 20:52 ID:???
>320
君も↓ここ。
http://pc.2ch.net/test/read.cgi?bbs=php&key=1003132904

322 :名無しさん@お腹いっぱい。:02/01/17 21:28 ID:xI06lEJm
質問お願いします。
サーバにtmpフォルダを作ってログを書き込もうと思ったんですが
相対パスでフォルダを指定するとうまくいくのに絶対パスで
指定するとうまくログを書き込めません。 なぜでしょうか?
違うサーバーのフォルダにも書き込みたいので、
是非とも絶対パスで書き込めるようにしたいのですが・・・

323 :名無しさん@お腹いっぱい。:02/01/17 21:29 ID:wM2BVnGn
すみません、チョト質問いいですか。
i-mode端末ってHTTP_REFERER吐かないんですか?
アクセスログ記録CGI作ってたんですが、i-modeだとREFERERが記録されてないみたいで…
端末の機種によるんですかね??

324 :名無しさん@お腹いっぱい。:02/01/17 22:20 ID:wM2BVnGn
>>322
違うサーバーのディレクトリには書き込めないと思われ。
自サーバーの自ディレクトリ内(自分のFTP認証で読み書きできる範囲内(?))ならば
絶対パスでも書き込めるハズ。。。(たぶん)

325 :名無しさん@お腹いっぱい。:02/01/17 23:18 ID:9VYXNm78
cgi-binフォルダにHTML形式のファイルを置いたら
500のエラーになります。
なにか原因があるのでしょうか?

どなたか知っておられる方がおられましたら、
ご教授ください。

326 :名無しさん@お腹いっぱい。:02/01/17 23:28 ID:???
>325
.htaccessとか。
サーバーの設定でしょ。

327 :名無しさん@お腹いっぱい。:02/01/17 23:31 ID:???
考えられる要因
cgi-bin下にはcgiしか置けなくなっている。
解決方法
貴方の借りているサーバーのFAQを読むこと。

328 :名無しさん@お腹いっぱい。:02/01/17 23:44 ID:se/+ek/k
単なる興味なんですけど、
今って、ISPやレンタルサーバでもとから入ってるperlって、
mod perlなんでしょうか?

329 :名無しさん@お腹いっぱい。:02/01/17 23:59 ID:9VYXNm78
>>327
>>326
レスありがとうございます。
原因はcgi-bin以下にはcgiしか置けませんでした。

感謝です!

330 :名無しさん@お腹いっぱい。:02/01/18 01:04 ID:8ugIM9os
>>323
はかないらしい。

331 :モナー6000 ◆moner6k. :02/01/18 01:17 ID:???
>>328
それは各社によって違うからなんとも言えない。
mod perlは今でもまず無いと思われ。



332 : ◆TaKe02xs :02/01/18 01:17 ID:???
>>323
はかないから2ちゃんも書き込めなくなったのよ。
有料化とは何か関係あるのかな・・・?

333 : ◆TaKe02xs :02/01/18 01:18 ID:???
あ、ケータイから書き込めなくなったってことね。
回避方法あったり、書き込める板があったりするけど。

334 :323:02/01/18 05:54 ID:???
>>330
>>332
>>333
サンクス。
2ちゃんがi-modeから書き込めないのってリファラーのせいだったんだ…。
ブラウザ情報のせいかとおもてたよ
しかしリファラー吐かないのはi-modeの仕様?ですかね??
困ったもんだ…。

335 :名無しさん@お腹いっぱい。:02/01/18 14:33 ID:???
read.cgiのソースってどっかないの?

336 :名無しさん@お腹いっぱい。:02/01/18 15:53 ID:???
>335
どっかにあるよ。この板ではない板のどっかに。

337 : ◆TaKe02xs :02/01/18 16:11 ID:???
4ヶ月ほど遡ればごろごろと。

338 :名無しさん@お腹いっぱい。:02/01/19 13:07 ID:???
http://www.gedoh.org/aki/2ch/current/bbs/

339 :335:02/01/19 15:32 ID:jPqJsm8v
情報サンクス
ウニクス板の人らの戦いの後を
ユクリと楽しみまくります

340 :名無しさん@お腹いっぱい。:02/01/19 16:45 ID:???
Perlなんですが
ひとつのスクリプトの中に
大本スクリプト(処理1:処理2:処理3)
があって、処理3は滅多に使わない場合
Aスクリプト(処理1:処理2)
Bスクリプト(処理3)
という風に分けたほうが処理的に軽くなるんでしょうか?
サーバ全体の負荷は多少軽くなるのではと予想してますが
Aスクリプトのみで考えてどうなんでしょうか。


341 :名無しさん@お腹いっぱい。:02/01/19 17:11 ID:knwd48rF
>>340
独立した処理だったら、そりゃ分けたほうがいいでしょう。
A から B を使うんだとしたら、別の問題。

AutoLoader とか AutoSplit なんか見てみては?

342 :340:02/01/19 17:35 ID:???
レスありがとうございます。

Perlはインタプリタだから
実行する以外の処理があっても
それはそれなりにメモリを食う
という解釈でいいんでしょうか?

ってことは処理をライブラリ化しておいて
使う時だけ読み込んで処理するというのは
そこそこ良い考え方なんでしょうか?
(今だと、面倒なんで一切合切頭で読み込んでる)

343 :名無しさん@お腹いっぱい。:02/01/19 18:20 ID:???
すみません。
その流れでいくと、コメント分もなるべく少ない方がいいのでしょうか
ふと気になったもので・・・。

344 :名無しさん@お腹いっぱい。:02/01/19 18:20 ID:???
>343 =~ s/コメント分/コメント文/;

345 :名無しさん@お腹いっぱい。:02/01/19 19:19 ID:???
コメントはあってもなくてもほとんど影響ないよ。
まぁ、コメントを大量につけすぎて、
スクリプトのサイズが100Mとかいいだすと影響もあるだろうけど。
普通にコメントつけてる分にはきにしなくてもいいよ。


346 :名無しさん@お腹いっぱい。:02/01/19 19:32 ID:???
>345
少し安心しました。
ありがとうございます。

347 :名無しさん@お腹いっぱい。:02/01/19 22:41 ID:???
ttp://www.pegasusknight.com/mb/index_fe3.html

上のサイトの画面下部に出るちょっといい話ってのの仕組みが知りたいのです
フレームの上側のページのアンカーをクリックしてページが切り変わると下のフレームも更新されるのですが
これは一体どうゆう仕組みなのでしょうか?
javascriptで別フレームを更新させる物は何度か見たことは在るのですが...


348 :名無しさん@お腹いっぱい。:02/01/20 08:57 ID:ecoNESR6
perlで検索エンジンを作っています。
クリックランキングを付けたいので
open(RAND, "$data_f");

@url = <RAND>;

close(RAND);

open(RAN, ">$data_f");

foreach $num(0 .. $#url){
$data = @url[$num];
        ($no,$title,$jurl,$pp,$ip) = split(/\,/,$data);

if($kk == $no){

       $uu = $jurl;
$pp++;
print RAN "$no,$title,$jurl,$pp,$ip";
}else{
print RAN "$no,$title,$jurl,$pp,$ip";

}

}

close(RAN);
print "Location: http://","$uu","\n\n";

と処理をさせて(上記は理屈だけですが)
Locationでジャンプさせたのですが、Win上のApache(1.3.22)
では正常にジャンプするのですが、Linux上のApache(1.3.22)
にうp すると,正常にJAMPできません。
うまくジャンプさせるには、どうすればいいでしょうか?

御指南お願いします。

349 :名無しさん@お腹いっぱい。:02/01/20 12:52 ID:???
ジャンプ出来ないってゆーのはどんな感じで?
エラーが出んの?

350 :名無しさん@お腹いっぱい。:02/01/20 19:39 ID:jE2ekMiz
LocationでURLに移動できないのです。
500エラーはでないのですが、
「ページが表示できません」(いわゆる404エラーかな)
が出てしまいます。
ヘッダ情報の関係でしょうかね?

351 :名無しさん@お腹いっぱい。:02/01/20 19:57 ID:???
>>348
CGIからどういうレスポンスが返ってるのかを確認すればいいじゃない。


352 :名無しさん@お腹いっぱい。:02/01/20 21:07 ID:jE2ekMiz
色々試してみたのですが、普通のURL(テストとしてniftyのURL)
でもlocationができないんです。
#!/usr/local/bin/perl

Location: "ttp://www.****.con\n\n";
exit;

上記のようなCGIでもアウトでした。(値は正常なものです)
サーバーが制限を掛けていると言うことは考えられるのでしょうか?

CGIからのレスポンスを調べるとはどういう事でしょうか?
厨房ですみません。

353 :名無しさん@お腹いっぱい。:02/01/20 21:22 ID:???
>352
#!/usr/local/bin/perl
↑ここを書き換え忘れてるというオチは?

てゆーか、
Location: "ttp://www.****.con\n\n";
printはどこ?

354 :名無しさん@お腹いっぱい。:02/01/20 22:31 ID:jE2ekMiz
CGIは動いているのでPASSは、正常です。
locationだけうまく動かないのです。
print を書き忘れてましたね。すみません。

スクリプトにはちゃんと書いていました。

355 :微細突っ込み:02/01/20 22:40 ID:???
>>354
×PASS
○PATH

356 :名無しさん@お腹いっぱい。:02/01/20 22:57 ID:???
404エラーならIEやらNNのアドレスバーのアドレス見れよ。

あほらし。

357 :名無しさん@お腹いっぱい。:02/01/20 23:13 ID:dJXwfbrc
locationはサーバによって動作しないとこがあるらしいよ。
サーバ管理者とかに問い合わせたほうがいいと思うよ。

358 :あぼーん:あぼーん
あぼーん

359 :名無しさん@お腹いっぱい。:02/01/20 23:36 ID:???
>>358
いいから氏ねば?


360 :348:02/01/21 00:25 ID:RVRWDBZa
>>357
そうなんですかね?
CGI本体から同じCGIに
パラメータを渡した状態でのロケーションはできるみたいです。

もしlocationを制限されているのならば、外部サーバーには
locationできない仕組みになっているんですかね?

とりあえず、管理者の方に問い合わせてみます。
ありがとうございました。

>>356
アドレスバーでわかるんようなエラーなら苦労しません。

361 :名無しさん@お腹いっぱい。:02/01/21 00:27 ID:Fs99nO4j
つか、locationじゃないとダメなの?

362 :名無しさん@お腹いっぱい。:02/01/21 00:29 ID:Fs99nO4j
↑続き
ジャンプさせたいだけなら、<META>ジャンプとかじゃダメ?

363 :名無しさん@お腹いっぱい。:02/01/21 00:31 ID:???
単にジャンプ先のページが無いだけだったりして・・・
んなわけないか。

364 :名無しさん@お腹いっぱい。:02/01/21 00:48 ID:???
>>360
ならなんで404エラーなんだよ。

print "Location

の直前に
print "Content-Type:text/html\n\n";

でもおいてちゃんと出力されてるか見れ。
つかヘッダ関係のトコで挙動がおかしい場合の基本だべ、これ。

365 :名無しさん@お腹いっぱい。:02/01/21 01:35 ID:???
どんな基本やねん (w
WINなら大丈夫ってんだから関係ないだろ
>>360
telnetでちゃんとLocation吐いてるか見れ >>357を確かめろってこった

366 :名無しさん@お腹いっぱい。:02/01/21 04:04 ID:1VJkr7um
ちょうどロケーションの話題が出てるので..。
質問したいんですが、perlで作ったCGIの中で
print "Location: ../../complete.html\n\n";
とやっているんですが、マックで動作してWINでは動作しません。
行き先はフルパスにしてもだめ。WIN、マックとも複数環境で同じでした。
非常に困ってます。しかも、何年も前に作ったCGIのバグフィクスなんで
自分でも何やってるんだか意味がわかりません。
だれか、原因わかりませんか?

367 :名無しさん@お腹いっぱい。:02/01/21 04:06 ID:???
>>365
>telnetでちゃんとLocation吐いてるか見れ >>357を確かめろってこった

馬鹿発見。おんなじことやんけ。

368 :agege:02/01/21 04:07 ID:exoXJ6ur
> 366
print "Location: http://servername/path/target.html\n\n";
ではダメ?

369 :366:02/01/21 04:09 ID:1VJkr7um
>368
それでもだめでした(涙)。ありがとう。
他にもご意見聞かせてください。

370 :名無しさん@お腹いっぱい。:02/01/21 04:10 ID:???
>>367に追記。
Locationヘッダを見る事については「同じことやんけ」って事ね。

>>366
Locationヘッダは http://〜 と書かなければいけません。
相対パス・絶対パスは『本来』はダメです。

関係ないかも知れんけど、一応。

371 :名無しさん@お腹いっぱい。:02/01/21 04:10 ID:???
かぶった。鬱

372 :366:02/01/21 04:11 ID:1VJkr7um
>370
ありがとうございます。今、調べてて初めて知りました。
てことは今まではなぜ動作していたんだろう。

373 :agege:02/01/21 04:15 ID:???
\n\n ⇒ \r\n\r\n ではどうだろか?

374 :名無しさん@お腹いっぱい。:02/01/21 04:15 ID:???
>>367
何で同じ事やねん 低脳の相手は疲れるけど寝る前に教えてやるよ
text/html吐いた後でprint してもそんなもん糞の役にもたたねーだろ アホか
それともあれか?貴様はたった一行のprint文も吐き出して確認しないと不安なのか?
困った奴だねこのド初心者は全く はぁ・・・
そんな事してもサーバ側でContent以外のヘッダ全部切られてたら
意味ネーんだよ アホが
分かったら、ここに謝罪文書いとけ  w
自作自演で、「アホが居ますね」とかすんなよ  寒いから  

375 :名無しさん@お腹いっぱい。:02/01/21 04:16 ID:???
>>370
http://hoohoo.ncsa.uiuc.edu/cgi/out.html
をよく読んどきなよ。
あなたの言ってることには間違いがあります。

376 :名無しさん@お腹いっぱい。:02/01/21 04:17 ID:Z38+o1D3
http://news.2ch.net/test/read.cgi/newsplus/1011369107/401/
これクリップボード読みとられるって本当?

377 :名無しさん@お腹いっぱい。:02/01/21 04:18 ID:???
>>374に追記
>>348 の 
Win上のApache(1.3.22)では正常にジャンプする
をまず読めって事ね

多分>>349くらいから罵倒レス入れてるのは貴様だろうが
半端な知ったかで見苦しいんだよ

378 :名無しさん@お腹いっぱい。:02/01/21 04:19 ID:???
>>373
その変換をするのはnph-cgiにしていない限りHTTPDの仕事です。


379 :agege:02/01/21 04:22 ID:???
> 378
なるほどネ。言われてみてわかりました。

しかし、みんな熱いネー。トロピカルだネー。

380 :366:02/01/21 04:24 ID:1VJkr7um
僕のことも忘れないでね。
なぜ、winとマックで挙動が違うのか誰か教えてください。

381 :名無しさん@お腹いっぱい。:02/01/21 04:25 ID:???
まぁ、374は馬鹿だけど概ね言ってる事は正しいね
Telnetが面倒ならオミトロンとか入れて見れば簡単だよ -> HTTPheader

382 :名無しさん@お腹いっぱい。:02/01/21 04:28 ID:???
>>380
WinとMacと言うよりもLocationヘッダでまともなURLじゃない値が
返って来たときの挙動はブラウザの実装次第。

383 :@lcheMIST:02/01/21 04:35 ID:n/BKgO7J
>347
こんなので解るかな?

ttp://www.pegasusknight.com/cgi-bin/verb/checker.html

ttp://tohoho.wakusei.ne.jp/wwwcgi4.htm#NphScript
ttp://www.mikeneko.ne.jp/~lab/web/htaccess/nph.html

384 :366:02/01/21 04:51 ID:1VJkr7um
>382
なるほど。ありがとう。
ちなみにマック版IE、NNの複数バージョンで正常動作。
WINはIEの複数バージョンで以上動作。NN最新版で正常動作。
NNは今急いでチェックしました。

>text/plain のわな(共通):Content-type: text/plain を使用した場合、
>Internet Explorer 3.0以降ではうまく動かないことがあります。
>[表示]→[オプション]→[プログラム]→[ファイルタイプ]で、
>.cgiという拡張子のファイルにメモ帳などのプログラムを割り当てている場合、
>text/plain 形式の実行結果をダウンロードしてしまい、
>期待通りの動作をしないことがあります。

という解説をとあるサイトで見て、意味はよくわからんのですが、
関係ないでしょうね..やっぱり..。

385 :名無しさん@お腹いっぱい。:02/01/21 07:41 ID:???
そういえば、ケータイでもLocationダメだったなぁ。
HTMLに直書きだと飛べるのに、cgiからの出力だと飛べないという。
PCでは飛べるからスクリプトのせいじゃないのよ(;´Д`)
AU逝ってよし、と。

386 :名無しさん@お腹いっぱい。:02/01/21 12:51 ID:???
>>377 はなんであんなに自分の無知を叫んでるの?

387 :名無しさん@お腹いっぱい。:02/01/21 13:02 ID:???
そう言えば昔、スクリプトにヘッダ書き忘れてたことがあったなぁ。
Win上のローカルで動いたから気にせずうpしたら、エラーが出る。
原因究明に随分と時間かかったよ。
まさかうちのローカル環境だとヘッダ書き忘れてもちゃんと表示されるなんて
思わなかったし。

ちなみに、Win2000+AnHttpdだけど。

388 :名無しさん@お腹いっぱい。:02/01/21 13:03 ID:???
ヘッダの書き出しを忘れてた、ってことね。

389 :名無しさん@お腹いっぱい。:02/01/21 17:20 ID:KiNU+LHM
データベースについての質問お願いします。
今ウィン環境で、そこにあるデータベースに別のサーバからアクセスして
データベースを操作したいのですが、そのサーバーにパールのCGIを置いて
操作したいんです。 DBIとかいうのを使わなきゃいけないみたいなのですが、
それをどうやって設置するのですか?
モジュールがあってそれをCGIと同じ階層に設置しとけば、USE DBI
は有効になるのでしょうか? LINUXだといっぱい書いてあるんですが・・・

390 :名無しさん@お腹いっぱい。:02/01/21 17:23 ID:???
>386 pupupu

391 :名無しさん@お腹いっぱい。:02/01/21 17:24 ID:yxhIL91Y
>389
コマンドラインから
c:\> perl -MCPAN -e shell
とかしてみる。

特に、install Bundle::CPAN
とか。

392 :名無しさん@お腹いっぱい。:02/01/21 17:31 ID:KiNU+LHM
391> それはデータベースが置いてある方のコマンドラインですか?
サーバの方は設置しかできないので、コマンドラインには入れません。

393 :名無しさん@お腹いっぱい。:02/01/21 17:33 ID:yxhIL91Y
>392
ううん、Windowsだよ。
PPMとかは使ったことないんだけど。
あ、ActivePerl?なに使ってるのかな?
ほかのものについてはしりません。

394 :名無しさん@お腹いっぱい。:02/01/21 17:42 ID:KiNU+LHM
392> すいません整理します
たとえると 家(常時接続)にWIN環境でMYSQLのDBを作りました。
ここにはアクティブパールもあります。
それを外のサーバに置いたパールで書いたCGIで操作したいんです。
上記のお話だと家のコマンドラインからコマンドを実行すれば、
CGI上の USE DBIとかは有効になるんでしょうか?

395 :名無しさん@お腹いっぱい。:02/01/21 17:44 ID:yxhIL91Y
>394
ああごめん、全く逆の連想していました。

396 :名無しさん@お腹いっぱい。:02/01/21 17:50 ID:yxhIL91Y
一般的に、Perlのモジュールは、@INCという、Perlモジュールが
置かれているパスに置かれていれば機能します。
@INCには、カレントパス(実行されるCGIがある場所)も含まれますので、
そこに置けば、運が良ければ動くでしょう。
運が良ければ、というのは、Perlのモジュール群は、
相互に関連していることが多く、たとえば、DBIのあるモジュールの機能を使うためには
Netモジュールが必要だったり・・・とかそういう事情です。
たとえば、コマンドライン(SSHやtelnet)でも利用が出来ないサーバでの課題ということに
なってくると、もしこれらのモジュールの中で「C」で書かれ、コンパイルが必要な
モジュールが含まれ、かつそれが@INCに存在しない場合、お手上げになってしまいます。

397 :名無しさん@お腹いっぱい。:02/01/21 17:59 ID:KiNU+LHM
396> telnetでサーバーの方を操作すればいいんですね。
そこのサーバはPERLは使えるんですけど
usr/bin/perlへは行けません
当然そこに@incというモジュールはあるんですよね・・・
DBIを使わない方法はないのでしょうか?


398 :347:02/01/21 18:19 ID:???
>383
サンクス、漏れはフレーム生成部分のソース見落としてて
3重になってる事に気づかずjavascriptが記述してあるHTMLが判らなかった訳か
あとは大丈夫そうなので自力で頑張ってみます
ホントにありがとう。

399 :@lcheMIST:02/01/22 01:06 ID:NXihuWSg
>347=398
オラッチもnph-なんてあるの知らなかったので勉強になったにぇ。
日々精進じゃけんのぉー

400 :名無しさん@お腹いっぱい。:02/01/22 01:52 ID:aFfMsp/U
質問お願いします
自宅のmysqlから職場のmysqlに繋ごうと思ったので
dosプロンプトでmysql/binから
mysql -h ipアドレス ってしても職場のmysqlサーバーに
繋ぐ事ができません。
cann't connect mysql server on 〜 とか出てしまいます
root にしてpassを入れても入れませんでした。
どうすればいいのでしょうか?


401 :ナナシンボ:02/01/24 10:44 ID:V8edfMEH
CGIをSSIで表示する際の質問なんですが、
xxx.cgi?act=xxx
って感じでもSSIとして呼び出して、
そして表示は可能なのでしょうか?

知っておられる方がおられましたら。
どなたかご教授ください。


402 :名無しさん@お腹いっぱい。:02/01/24 10:52 ID:V8edfMEH
あげ

403 :名無しさん@お腹いっぱい。:02/01/24 11:29 ID:???
>>401
普通にexecじゃだめ?
xxx.cgi?act=xxxは特定のCGIしか効果がない気がします。

404 :ナナシンボ:02/01/24 11:43 ID:V8edfMEH
コマンドはどのような感じでしょうか?
単発質問で申し訳ございません。

405 :名無しさん@お腹いっぱい。:02/01/24 11:44 ID:???
>>401
すみません。そもそも何がしたいのか量りかねます。
もう少し詳細に。

406 :ナナシンボ:02/01/24 11:49 ID:V8edfMEH
いろいろなモードがあるサーチエンジンで
新着情報をSSIを使ってTOPページに表示したいのです。。。

うまく通じたでしょうか。。。

407 :名無しさん@お腹いっぱい。:02/01/24 11:51 ID:???
>>406
いや、全然w。
じゃあ、SSIモードにしてSSIでexecすればいいでしょう。

408 :ナナシンボ:02/01/24 11:58 ID:V8edfMEH
[an error occurred while processing this directive]
SSIモードとか無いようでございまして、
上記のようなエラーが出てしまいます。

409 :名無しさん@お腹いっぱい。:02/01/24 12:04 ID:???
>>408
まず、そのCGIのreadmeなり仕様書なりを読む。
それでできることとできないことをはっきりさせる。
改造が必要なら改造する。

410 :ナナシンボ:02/01/24 12:15 ID:V8edfMEH
プログラムができる人の薄笑いはかっこいいです。
どうか教えてください。
改造の仕方を教えてください!!

411 :名無しさん@お腹いっぱい。:02/01/24 12:22 ID:nUVwgo4z
>410
もとねたのCGIをどっかに置かないと無理でしょうよ(笑)
がんばれ!

412 :名無しさん@お腹いっぱい。:02/01/24 12:25 ID:???
>>411
同意、ソースなしでは無理っす。

413 :ナナシンボ:02/01/24 12:42 ID:V8edfMEH
わかりました。がんばります。
その際は、改造をよっ宜しくお願いします。

414 :名無しさん@お腹いっぱい。:02/01/24 12:50 ID:???
http://pc.2ch.net/test/read.cgi/php/988808396/
改造ならこっちのスレの方がいいと思う。

415 :ナナシンボ:02/01/24 13:05 ID:V8edfMEH
はい。移動します。。。

416 :あぼーん:あぼーん
あぼーん

417 :名無しさん@お腹いっぱい。:02/01/26 17:39 ID:t4y2XoUY
すみません。質問です。
Windows2k+Active Perl 5.6.0.623
のサーバー借りたんですけど、

・絶対位置を指定する。
・***.cgi→***.plにする。
・パーミッションの変更は不必要

これが必要と言われて、やってみたんですけど
動きませんでした。
あと、何か必要なことが有れば教えていただけませんか?

厨房な質問ですみません。


418 :名無しさん@お腹いっぱい。:02/01/26 21:15 ID:???
>>417
私だったらそんなサーバ借りる気がしないが、それはさておき。

>動きませんでした。
これでは詳しい事は誰も回答できないと思うけど。
エラーメッセージとかログの内容とか、Scriptをどのように設定したとか
その他諸々を全て提示すべき。『絶対位置を指定』だって主語や目的語が無いから意味不明。
皆超能力者じゃないんだから、貴方の行き詰まってるトコなぞ、書いてもらわにゃ
分からないって。逆に詳しく書けば回答もたくさん貰える筈。

上述の通り一般的なことしかいえないからそういうのだけ列記。
『PerlのPath』『Scriptの設定ミス』『Scriptの(改造で発生した)文法ミス』
『UNIXでしか使えない関数を使ってないか』『KCatch.pmとか使ってみる』
この辺チェックしておいてみ。

唯、その程度の環境だったらLocalで実験環境組んでやってみる方が早いと思う。
インスト&起動くらいなら一時間位がんばれば出来るよ。

追) 本題には関係ないけど、読むと為になるかもね。
http://www.geocities.co.jp/SiliconValley/5656/

419 :名無しさん@お腹いっぱい。:02/01/26 22:01 ID:rKevR140
質問させてください。

CGIで、サーバー間の同期が取れるようなプログラムって、可能ですかね?
探したのですが、見つからなかったので、知っている方よろしくお願いい
たします。

420 :417:02/01/26 22:05 ID:t4y2XoUY
>>418
やっぱり Win2000鯖はまずいですか。(苦笑)。
もうちょっと勉強して、動かなかったら再度、
何処がどうなってるのか質問したいと思います。
ありがとうございました。

421 :名無しさん@お腹いっぱい。:02/01/26 22:18 ID:Me/qVl9/
>>419
下で聞けば
http://pc.2ch.net/test/read.cgi/php/1003132904/

422 :名無しさん@お腹いっぱい。:02/01/26 23:15 ID:vygz7+I2
KENTさんのSUN BOARD(www.kent-web.com/bbs/sunbbs.html)を掲示板モードで使っているんですが。
センドメールで送られてくるメールの投稿日時とホスト名が、最初の書き込みと全く同じのままなんです。
出来ればURLを公開したくないのでKENTさんのところでは聞けなくて……。
もし同じようなエラーが発生し解決した経験をお持ちの方がいらっしゃいましたら教えて頂けると嬉しいです。

423 :名無しさん@お腹いっぱい。:02/01/26 23:40 ID:CqBvXkR7
2chモデルのCGIスクリプトが欲しいんですが・・・
何かないでしょうか?

424 :名無しさん@お腹いっぱい。:02/01/26 23:53 ID:???
>>423
上位スレッドくらい見ようよ…。
http://pc.2ch.net/test/read.cgi/php/1003131529/

425 :名無しさん@お腹いっぱい。:02/01/27 00:38 ID:???
>>423はメクラ

426 :あぼーん:あぼーん
あぼーん

427 :名無しさん@お腹いっぱい。:02/01/27 01:57 ID:???
いい加減にしなさい!(`3´)ぷんぷん

428 :名無しさん@お腹いっぱい。:02/01/27 13:57 ID:AW1tScf7
SSI使わずにCGIでランダムメッセージできませんか??

429 :名無しさん@お腹いっぱい。:02/01/27 13:58 ID:???
>428
index.htmlやindex.shtmlやめてindex.cgi使う。

430 :名無しさん@お腹いっぱい。:02/01/27 14:04 ID:AW1tScf7
それはちょっと・・・

431 :名無しさん@お腹いっぱい。:02/01/27 14:06 ID:???
>430
じゃあindex.php使う

432 :名無しさん@お腹いっぱい。:02/01/27 14:20 ID:???
じゃあメッセージを画像にしてランダムで表示させる

433 :名無しさん@お腹いっぱい。:02/01/27 14:29 ID:???
Javascriptでランダムに表示させる。



434 :名無しさん@お腹いっぱい。:02/01/27 15:50 ID:???
htmlを書き換える
次のリクエストに返す内容を書き換えるってこと

435 :428:02/01/27 17:25 ID:AW1tScf7
Javascriptでもいいけど、ソースでバレバレかなぁと思って。
ランダム画像にします

436 :名無しさん@お腹いっぱい。:02/01/27 19:40 ID:NBBnRIb5
htaccessで404のページをカスタマイズできるのは分かるんですが、
(例えばhttp://www.xxx.com/404.htmlに飛ばすとか)
実際には存在しない間違ったURL(例えばhttp://www.xxx.com/abc.html)をアドレス欄に表示したまま
カスタマイズしたページを表示させることは可能でしょうか?

サーバ自体をいじらないとダメ?

437 :436:02/01/27 19:42 ID:???
スレまちがった・・・すいませn

438 :名無しさん@お腹いっぱい。:02/01/27 19:45 ID:/jXxAIan
一日1000アクセスだとして彼らが何らかの書き込みをする場合です。
色んな話題を扱う為に、あめぞう型一つのscriptで処理させるのと、
違うタイプのscriptを数個置くのと、どちらが鯖の負担が少ないでしょう。
掲示板の数は30くらいと仮定して。
先輩諸氏、アドバイス願えませんか?


439 :名無しさん@お腹いっぱい。:02/01/27 20:09 ID:???
>438
同じ内容のCGIだったら、同一サーバで稼働させるんであれば、サーバの負担は
全く一緒だよ。

440 :名無しさん@お腹いっぱい。:02/01/27 20:47 ID:???
>438
それよりも掲示板で表示させる内容をHTML保存して
それを表示させるようにした方がよっぽど負荷は減る。

441 :438:02/01/27 21:49 ID:/jXxAIan
439-440 感謝です。
スレ違いになりますが、返答を頂く間に他の板も見たのですが、
phpであめぞう型のがありました。
試しに使ってみるとまずまずの感じ。
これもありかなぁと思いました。

美術に関係する掲示板なのですが、テクから歴史、流行、
論文資料、グッズとたくさんの分類分けが必要なのです。
2ch型でやれば良いかなと思って質問させて貰いました。

メインはあめぞう型でたくさんの話題を、
ほんの少しだけ凝ったデザインの掲示板も使う。(2,3個)
特に注意すべきは、ログをhtml形式で保存、表示させるタイプと
いう線でいけばよろしい、とい認識でよいでしょうか。
では、探しにいってきます。


442 :442:02/01/28 12:21 ID:D/EY6qQ0
突然すみません。

@a = (1);
@b = (1);
sub addem
{
my ($reference1, $reference2) = @_;
for ($loop_index = 0; $loop_index <= $#$reference1; $loop_index++) {
$result[$loop_index] = @$reference1[$loop_index] +
@$reference2[$loop_index];
}
return @result;
}

@array = addem (\@a, \@b);
print join ('、 ', @array);

これで2となると思うのでございますが、
1をある数をカウントする$xxxにあてはめて、

1
2
3
4
5
6
7
8
9
10
という処理を行って
そして、
10までいったらまた1に戻すという処理をPerlで行いたいのですが、
どこをいじればいいのかわかりません。


どなたか、ご存知の方がおられましたらご教授ください。

443 :名無しさん@お腹いっぱい。:02/01/28 13:00 ID:QsnBvpSI
>442
よくわかんないけど
$i = 0;
foreach (@処理する配列) {
    処理ルーチン;
    if ($i eq 10) { $i = 0; }
    else { ++$i; }
}
でお望みのことは出来るかと。

444 :うまくいかない:02/01/28 17:36 ID:r62kXaC2
えーっと、既存CGI(C++で作成)へ環境変数などを渡す為に、Parlを被せて、
実際にはperlの中からcgiをオープンかけてるんです。で、今回、起動したCGI
のほうが正常に作動したかどうかを、そのparl内で調べる必要があるので、
open2を使用してと思ったんですが、うまくいかないのです。

元のソースはこんな感じです。
if (!open AA, "|$p") {}
syswrite AA, $para, length($para)
close AA;

$p :モジュール
$P :引数
以下修正後です

open2(In,O, $p, $para)
while(<In>)
{
print;
}
print O "\n";
close O;
close In;

この子プロセスから受け取った標準出力の内容をprintして
まずは画面表示しようとしたのですが、そこからうまくいか
ないのです。どうすればいいんでしょうか(;;

445 :うまくいかない:02/01/28 17:54 ID:r62kXaC2
Parlを被せて -> Perlを被せて

でした。なにやってんだか<おれ

446 :名無しさん@お腹いっぱい。:02/01/28 18:21 ID:???
open2(*I, *O, @args);
とかいう話じゃなくて?

447 :うまくいかない:02/01/28 18:27 ID:r62kXaC2
>>446
できました。*がぬけていたみたいです。
ありがとうございました。

448 :名無しさん@お腹いっぱい。:02/01/28 19:54 ID:???
>442
本題からはそれるけど、
@$reference1[$loop_index] は
$reference1->[$loop_index] か $$reference1[$loop_index] に
すべきなんじゃないかな。
何かを意図してスライスにしてるわけじゃないよね?

449 :名無しさん@お腹いっぱい。:02/01/28 20:26 ID:1+Uax+qT
apeboardの掲示板にfstatのアクセス解析をつけるには
どうしたらいいのでしょうか?

450 :名無しさん@お腹いっぱい。:02/01/28 20:27 ID:???
↑マルチポストかよ

451 :2APESについてなのですが:02/01/28 21:13 ID:xDeG8agz
2APESさんでapeboardをDLしました。
自サイトでBBS公開してましたが、マルチレスのあるapeboard+をDLしてバージョンアップを考えてます。
移行するときに、元のBBSのログを新しいBBSに移す方法ってあるんでしょうか??
あるとすればどうしたらよいのでしょうか?
スレ違いでしたらすいません・・・。

452 :名無しさん@お腹いっぱい。:02/01/28 21:17 ID:???
>>451
手動で書き直す

453 :2APESについてなのですが:02/01/28 21:21 ID:xDeG8agz
CGI初心者なのでどれをどう書き直せばいいのかわかりません
すいません もうすこし詳しく教えてください
2APESさんのFAQにもBBSにもなかったので

454 :名無しさん@お腹いっぱい。:02/01/28 21:26 ID:???
どこに行ったら落とせるのよ?そのcgi

455 :名無しさん@お腹いっぱい。:02/01/28 21:27 ID:???
そのCGIがどんなのか知らないけど、新しいCGIになにか書いてみてそのログの書式にあわせて
以前のログを書き換えればいいのでは?
ログの取り方が全く違ってれば大変だけど・・

それより作者さんのサイトで聞いた方が良いと思うけどね。

456 :2APESについてなのですが:02/01/28 21:40 ID:xDeG8agz
うーん、作者さんに・・・聞いてみます。
ありがとうございました。
ちなみに、そのCGIはwww.2apes.comでDLしました。

457 :ポリ子:02/01/28 22:33 ID:yuq/vDAC
こんばんわ。よろしくお願いします。

http://www.polinky.com/mail.html
のような、メールを送ると自動で返事を返せるようなものは、CGIで組む
のでしょうか?

458 :名無しさん@お腹いっぱい。:02/01/28 22:36 ID:CgOVSzuj
あのー。
sh、bash、cshでCGI作りたいんですけど、
なんかサンプルあったら教えてください。


459 :名無しさん@お腹いっぱい。:02/01/28 22:42 ID:???

             ポ リ ン キ ー 逝っ て よ し !

     _,∩_         _,∩_           _,∩_
    (_____)ゝ、     (_____)    y     (_____)
    / :: :: :: ヽ 〉     /-‐:: ::‐-ヽ /       / :: :: :: ヽ
   _./ (・ )ll(・ ) ∨     _/  0) i! 0) ∨      _/ ( ・)i!(・ ) ゙、_
 // :: :: ∈ゝ :: ::ヽ   // ::  ‐-‐ :: ヽ    //  :: ー一 :: ヽ\
. ゝ/:: :: ::  :: :: ::ヽ  ゝ/ :: ::  ::  :: :: ヽ   ゝ/ :: ::  ::  :: :: ヽく
   ̄ ̄ | ̄ ̄ | ̄ ̄     ̄ ̄ | ̄ ̄ | ̄ ̄     ̄ ̄ | ̄ ̄ | ̄ ̄
       |     |             |     |             |     |
    ⊂!     !つ        ⊂!     !つ        ⊂!     !つ

     ジャン          ポール           ベル



 ジャン!

460 :名無しさん@お腹いっぱい。:02/01/28 22:42 ID:QsnBvpSI
>457
違います。メールサーバの機能です。

461 :名無しさん@お腹いっぱい。:02/01/28 22:44 ID:???
>458
人に意志を伝えられる日本語会話の勉強の方が先だぞ?
きみは。

462 :ポリ子:02/01/28 22:44 ID:yuq/vDAC
>460
あ、ども、ご親切にありがとうございました。

463 :458:02/01/28 23:08 ID:CgOVSzuj
>>461
たとえば
#!/bin/sh
で記述されたCGIのサンプルあったら教えてくださいって
ことなんだけど、そんなに理解不能だった?

464 :名無しさん@お腹いっぱい。:02/01/28 23:18 ID:???
>>458
http://www.google.co.jp/search?q=CGI+%22%23!bin/sh%22+echo+%22Content-type:text/html%22

465 :458:02/01/28 23:20 ID:CgOVSzuj
>>464
さんきゅー!
どもありがと

466 :名無しさん@お腹いっぱい。:02/01/29 00:38 ID:???
>463
うん。shで「なんの」スクリプトが作りたいのか意味不明

467 :名無しさん@お腹いっぱい。:02/01/29 12:18 ID:JeVd1Fc0
apeboradにカウンタをつけたいです。
cgiをいじることになるみたいなのですけど、
どうすればよいでしょうか?

カウントできればカウンタはなんでもいいです。
よろしくお願いします。

http://www.2apes.com


468 :名無しさん@お腹いっぱい。:02/01/29 13:26 ID:???
>>467
じゃあ適当なもの選んでつけてください。付け方はカウンタの説明だろうと思います。
http://tadamono.to/counter.html

469 :名無しさん@お腹いっぱい。:02/01/30 01:25 ID:vwtucaqb
<ol>
<li>xxx
</ol>
こうやって書くと、

1 xxx

ってなると思うのですが、
縦と横にスペースが入ってしまいます。

そこで、Perlでこれを表現したいのですが、
どう記載すればいいのかわかりません。

どなたかご教授ください。

470 :469:02/01/30 01:29 ID:vwtucaqb
すみません。

×そこで、Perlでこれを表現したいのですが、

○縦と横のスペースを入れずにPerlで表現したいのです

でした。

471 :名無しさん@お腹いっぱい。:02/01/30 01:55 ID:???
(・。・)? 

472 :名無しさん@お腹いっぱい。:02/01/30 01:59 ID:???
age

473 :名無しさん@お腹いっぱい。:02/01/30 17:07 ID:L4I/gPlU
川o・-・) 〈 perlはまったく関係ありません。cssを勉強てください。

474 :あっきー:02/01/30 18:11 ID:c1rN3/yG
カーネルのバージョンをcgiを使って探りだすプログラムを作りたいです。
telnet address 23でカーネルのバージョンが出るので、
それを利用してとろうとしても取れませんでした。
なんとかなりませんか?
ソケットを使って。
apache とftpはとれたのですが・・


475 :名無しさん@お腹いっぱい。:02/01/30 18:15 ID:jvP4y3Zo
>474
そのCGIをローカルで使って、よそにあるサーバの
カーネルのバージョンが取りたいって意味?

476 :あっきー:02/01/30 18:17 ID:c1rN3/yG
updateを促すプログラムなんです。
versionを調べて。
そのcgiをサーバにあげておいて

477 :名無しさん@お腹いっぱい。:02/01/30 18:24 ID:???
>updateを促すプログラムなんです。
>versionを調べて。

余計なお世話だと思うが。

478 :名無しさん@お腹いっぱい。:02/01/30 21:27 ID:???
そういうテキトーな理由をつけて
つまらんアタックをかけるつもりに一票

479 :名無しさん@お腹いっぱい。:02/01/31 01:40 ID:Dm/LxBSD
パスワードCGIさがしてるんですが、できるだけ強度が固いのがほしいです
おすすめのCGIがあったら教えてください<(..)>

480 :名無しさん@お腹いっぱい。:02/01/31 01:46 ID:Xiqtl9A0
>479
Basic認証を使っているのがいいと思います。
CGIで認証するものの中には、CGI自体で認証をかけているものもありますが、
手軽な分リスクもありますから。

481 :名無しさん@お腹いっぱい。:02/01/31 01:56 ID:???
>>480
Basic認証ですね!有難うございます
今からBasic認証のものを探してみます(^-^)

482 :名無しさん@お腹いっぱい。:02/01/31 02:22 ID:???
>>481
探すモンじゃないですよ
http://www.google.com/search?as_q=Basic%94F%8F%D8&num=100&btnG=Google+%8C%9F%8D%F5&as_epq=&as_oq=&as_eq=&lr=lang_ja&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=

483 :479:02/01/31 02:38 ID:???
>>482
ぐふっ(;;
なるほど、でした。勉強しに逝ってきます

484 :名無しさん@お腹いっぱい。:02/01/31 02:41 ID:Xiqtl9A0
>482-483
でもまぁ、メール使った自動パスワード発行システムのスクリプトとかも
ありますからね。
KENTWEBやレスキューにあったと思います。

485 :名無しさん@お腹いっぱい。:02/01/31 02:52 ID:bkfPgoFs
CGI.pmであっぷろーどの作業をしてます。
フォームから画像ファイルをアプすると、指定のディレクトリに
正常にアプされて、それ以外にルートに
 "CGITempxxx" というファイルが出来ます。なぜですか?

486 :名無しさん@お腹いっぱい。:02/01/31 03:01 ID:???
>>485
ワタシにはさっぱり分かりませんが、CGI.pmの中をTempで検索してみました?
何か出て来るんじゃないでしょうか。


487 :じょりじょり:02/01/31 12:58 ID:???
>485
環境が書いてないですが、Win系ではファイルハンドルをクローズすると自動で消されます。

488 ::02/02/02 11:39 ID:w924RHMB
いま、オブジェクト指向なプログラミングに凝ってるんですが、Perlのバージョンが5でないと動きそうにないんです。
で単刀直入に、Perl ver5( >= )の普及率ってどのくらいなんでしょうか。
「ほとんどのサーバってPerlの4だからやめた方が〜」とかご存知の方おられましたら是非ご意見をば…

489 :名無しさん@お腹いっぱい。:02/02/02 11:45 ID:???
ほとんどのレンタルサーバはPerl5です。
未だにPerl4をメインで使ってる人を知りません。

490 ::02/02/02 11:56 ID:???
そうですか…。いや、古いバージョンを放置してるとこってあるかと思ったんだけど。意外とそうでもないか。
ありがdです。>>489

491 :名無しさん@お腹いっぱい。:02/02/02 12:11 ID:???
漏れのプロバのスペースがPerl4。
色々不便。

実際問題Perl4は少ないと思う。
プログラミングする前に自分の使えるサーバーのPerlのバージョン調べたら?
配布するんだとしたら、Perl4では動きませんとだけ書いておけばいいでしょ。

492 :名無しさん@お腹いっぱい。:02/02/02 20:10 ID:btDa9WJG
BBSのCGIがinternal server errorで動きません。
ttp://dream.lib.net/room/cgi/e_resbbs.html
↑ここのやつです。

iswebでは動くのに、今使ってるレン鯖ではムリでした。
前に使ってたレン鯖でも動きました。
で、パーミッションが違うのかと思い、管理人に問い合わせたら、
管理人が同じ鯖にこのCGIをアップしてくれたんですけど、
管理人のアップしたBBSは動いてました。

Perlのパスやパーミッションは合ってるはずです。
管理人は設定は何もいじらずにアップしたそうですが、動いてます。
全部アスキーでアップしてます。

エラーになる原因を教えてください。あと、サーバー側の設定のミスで
自分の借りてるスペースだけCGI不可になることってありますか?

493 :名無しさん@お腹いっぱい。:02/02/02 20:35 ID:???
>>492

・Perlのパスを再度確かめるj
・パーミッションを再度確かめる
・.htaccessを弄ってないか考える
・CGI::CarpやKChatchを使ってみる



494 :名無しさん@お腹いっぱい。:02/02/02 20:59 ID:btDa9WJG
>>493
やっぱり、Perlのパスもパーミッションも間違ってないです。
他のCGIでも同じ状況になりました。他の鯖では動くのですが・・・

サーバ側の設定ミスというのはありえるのでしょうか?

495 :492:02/02/02 21:00 ID:btDa9WJG
>494=>492 です。
すいません。

496 :名無しさん@お腹いっぱい。:02/02/02 21:03 ID:???
>>494
CGIを置くディレクトリ指定とかないの?cgi-binとか

497 :名無しさん@お腹いっぱい。:02/02/02 21:09 ID:???
>494
サーバー側のミスもありえないとは言わないが、
君が間違ってる確率より何万倍も可能性が薄い。

498 :492:02/02/02 21:10 ID:btDa9WJG
>>496
何もないです。管理人さんがテスト用に置いてくれた
BBSもcgi-binには入ってませんでした。メールでも
ディレクトリ指定はないと書いてました。

499 :名無しさん@お腹いっぱい。:02/02/02 21:10 ID:BKjoUs7g
レイアウトが自在な掲示板ありません?

500 :492:02/02/02 21:13 ID:btDa9WJG
>>497
自分でもそう思うのですが、
他の2つの鯖で動くのに、この鯖だけ動かないというのが・・・
自分で思いつくことは全部試したし、
確認も何度もしたのですが・・・

501 :名無しさん@お腹いっぱい。:02/02/02 21:16 ID:???
>500
そういう時こそ簡単なものを見落としやすいものさ。
FTPソフトを変えて試してみるとかしてみたら?

502 :名無しさん@お腹いっぱい。:02/02/02 21:18 ID:BKjoUs7g
サーバで制限してる関数使ってたりしないの?

503 :名無しさん@お腹いっぱい。:02/02/02 21:18 ID:???
あと、レン鯖の説明の書いてあるページをもう一度全部読み直すのも大事。
こういう時ほど基本に立ち戻る。

それでもダメなら、管理者の方に「自分のスペースに」アップして試してもらえ。
それでできないようならあっちのミスだろ?
ただし、それで上手くいくようなら、君は今後管理者に大きな事を言いにくくなるがね。

504 :名無しさん@お腹いっぱい。:02/02/02 21:26 ID:???
簡単なCGI(HelloWorldとかw)でも動かないようならサーバの設定ミスもありえるかも・・

505 :名無しさん@お腹いっぱい。:02/02/02 21:30 ID:???
>>499
http://pc.2ch.net/test/read.cgi/php/1003132904/852-854n

506 :492:02/02/02 21:34 ID:btDa9WJG
>>501
FTPソフト変えてみました。でも、動かないです・・・。
このソフトでアップして、iswebでは動きました。

>>504
それ試してみます。で、それでもムリなら、
>>503さんのいうように、最後の手段で管理者の方に
お願いします。

507 :492:02/02/02 21:42 ID:btDa9WJG
>>504
「これはテストです。」と表示されるだけの
簡単なCGIもinternal server errorになってしまいました・・・。

508 :名無しさん@お腹いっぱい。:02/02/02 21:46 ID:???
そのコードここに書いてみ。
君の言う事は何か怪しい

509 :名無しさん@お腹いっぱい。:02/02/02 21:49 ID:???
まあ良いか。
一度管理に問い合わせてみれば?

510 :492:02/02/02 21:50 ID:btDa9WJG
>>508
僕が書いたのではなくて、「www入門」にあったのを使いました。
ttp://tohoho.wakusei.ne.jp/wwwcgi2.htm
このページにあります。これもやっぱりiswebでは動きました・・・。

511 :名無しさん@お腹いっぱい。:02/02/02 21:56 ID:???
とりあえず一日待ってみろ 何かが変わるかも知れない (ワラ

512 :名無しさん@お腹いっぱい。:02/02/02 22:18 ID:???
>508
同意。
どうにも怪しい。

>510
そのまんま使ったにしてもそのコードを上げろと言ってるの。
そのまんま使ったから使えるなんて甘い事考えるなよ。
iswebで動いたってtoktokで動かないCGIだってあるわ。
それと、そのレン鯖のURL出せ。
絶対お前は何かを見落としてる。

513 :492:02/02/02 23:31 ID:btDa9WJG
>>512
#!/usr/local/bin/perl

print "Content-type: text/html\n";
print "\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>テスト</TITLE>\n";
print "</HEAD>\n";
print "<BODY BGCOLOR=\"#FFCCCC\">\n";
print "これはCGIのテストです。\n";
print "</BODY>\n";
print "</HTML>\n";

です。パーミッションは管理人さんの指示通り755にしました。
サーバによって動く動かないっていうのがあるのは知ってます。
でも、>>492に書いたとおり、
管理人さんがUPしたのは動いてたので、動くのではないかな?
と、勝手に判断してしまいました・・・。

利用してるのは、管理人さんが無料でしてるレン鯖です。
http://kabocha.org/ ←ココです。
管理人さんとも何回もメールでやり取りをしてます。

やっぱり僕が何か見落としてるんだと思います。
それが分からないんですけど・・・

514 :492:02/02/02 23:35 ID:btDa9WJG
追加

>>513のperlのパスは
#!/usr/bin/perl
に直して使いました。

515 :名無しさん@お腹いっぱい。:02/02/02 23:42 ID:???
パーミッション700とか705とか一応試してみてください(ダメだと思うけど・・笑)

516 :名無しさん@お腹いっぱい。:02/02/02 23:51 ID:???
>>515
Your brain is rotten.
Die early because a low brain
like you does not have the value of being alive.

517 :名無しさん@お腹いっぱい。:02/02/02 23:56 ID:???
??

518 :名無しさん@お腹いっぱい。:02/02/02 23:59 ID:???
755ではセキュリティ的にちょっと(かなり?)マズいので700じゃないと動かないサーバもあるからな。

519 :492:02/02/03 00:29 ID:YFOaRgDw
原因がわかりました・・・。
ここの鯖はpublic_htmlの中にファイルを
アップする方式ではなかったのに、僕が勝手に
public_htmlを作ってそこに入れてしまってました。
で、public_htmlを参照する機能が
完全に無効にされてなかった(htmlは見れた)ので、
なかなか気が付かなかったのです・・・。

レスをくれたみなさん、すいません、やはり僕の落ち度でした。
m(_ _)m

520 :名無しさん@お腹いっぱい。:02/02/03 00:39 ID:+IXT+7Wc
>519
がんばれよ。

521 :名無しさん@お腹いっぱい。:02/02/03 01:04 ID:???
すみませんがどなたか教えてください。

ブラウザは一旦BASIC認証にパスすると、同じサーバ上の異なるURL
に対してもAuthorizationヘッダを出力します。(IE5.5sp2, NC4.7
で確認)
このブラウザが記憶している認証情報を、次回サーバが送信するヘッダ
でクリアする方法はありませんか?
言い替えればブラウザは、サーバがWWW-Authenticatoinヘッダで認
証を要求したときだけAuthorizatoinヘッダを出力し、そうでないと
きはAuthorizationを出力しないようにしたいのです。

522 :名無しさん@お腹いっぱい。:02/02/03 01:36 ID:+IXT+7Wc
>521
ない。
ダイジェスト認証使うのを検討したら?

523 :521:02/02/03 01:47 ID:???
レスサンクス。
ちなみに、.htaccessのない環境です。

うーん、サーバがWWW-AuthenticatoinでMD5をくれてやれば、ダイジェスト
認証に対応していないブラウザが認証に失敗して、以前の認証コードを消去
してくれるなんてことはありませんか…。
でも、公開するものなのでブラウザは不特定だし、トライ&エラーで疲れま
した…、鬱。

524 :名無しさん@お腹いっぱい。:02/02/03 01:52 ID:+IXT+7Wc
>523
盗聴されない限りにおいてはリスクは乏しいけど、
盗聴される危険性まで検討するんだったら、htaccessがなかったりしたら
お手上げなんじゃないの?
自前サーバならともかく、共用だと、盗聴の危険も出てくるからな。
ま、MD5とか組み込んでもらうかなんかしかないと思う。
ブラウザ落とすまでいつまでも、Basic認証の情報はブラウザーが保持し続ける。
サーバ側じゃなくてブラウザサイドの問題だから。
あとは、SSL化するくらいしかないな?認証ページを。

525 :521:02/02/03 02:32 ID:???
どもども。
なお相手はVLAN上でして、特定の場所以外でなければパスワードが流れるという
ことは考えられませんし、考えないで逝こうと思います。

今ミケネコさんの.htaccessの資料を読んでますが、考えますに
1 BASIC認証ではセッションの細かい管理はできない。
 (即ち同一サーバに対しては、URLは何であれ常に同じAuthorizationを出し
  続けてしまうため。同一サーバに異なるBASIC認証が複数あると、ブラウザ
  を落とさない限り、どちらか一方のみ失敗する)
2 よって、サーバはWWW-Authenticateを返すことはせず、アクセスしてきた
  やつのIPアドレスを見て必要に応じて401を返してやるのがよいのではないか

と思いました。どうでしょうか。

526 :521:02/02/03 02:36 ID:???
>どちらか一方のみ失敗する
もとい、
>1つを除き、その他はすべて認証ダイアログさえ出さずに401を食らう。
ということです。スマソ。

527 :名無しさん@お腹いっぱい。:02/02/03 14:31 ID:???
認証済みのブラウザに、401返すと認証ダイアログが開いた記憶があるけど
IEのバージョンに依存かも。


528 :初心者@携帯好き:02/02/04 19:05 ID:8txKYoJn
KENT氏のpetit boardのiモード版、petit2iを使ってるのですが、
http://red.tomato.nu/desperado/software/
iモードでアクセスするときに、レスがあるのかないのかわからないのにそれぞれの書き込みのレスを開いてしまうので、
できればレスがある記事はレスにジャンプするボタンの横にレス件数を表示できればなぁ・・・って思ってます。
(例: [レス][2件])cgiをちょっといじれば可能だとおもうんですが、cgi初心者のため全くわかりません。
よろしくお願いします。

529 :名無しさん@お腹いっぱい。:02/02/04 19:14 ID:???
>528
http://pc.2ch.net/test/read.cgi/php/988808396/
スクリプト改造工房 Part3

530 :名無しさん@お腹いっぱい。:02/02/05 10:25 ID:C2aOyr0O
微妙にPerlの言語に関する質問なのですが、「自分自身のURL」や「どこから来たか」を調べることはできますか?
どっかしらの特殊変数かな〜と思うのですが。
早い話、掲示板自身のアドレス以外から直接アクセス(カキコ系の)があったときに非常停止するようなスクリプトを書きたいのですが、ご教授お願いします。

531 :名無しさん@お腹いっぱい。:02/02/05 10:28 ID:JhAvXglK
Excel VBAについてはどこの板orスレッドで聞けばいいですか


532 :名無しさん@お腹いっぱい。:02/02/05 10:31 ID:???
>530
%ENVを調べれば分かる。

ただ、最近はパーソナルファイヤーウォールでリファラーを返さなく
なってるものが多いから、「どこから来たか」を正確に取得できるとは
思わない方がいいよ。

533 :名無しさん@お腹いっぱい。:02/02/05 10:45 ID:???
>>532
どちらかというとjavascriptで取得するのが一般的ですな。

<script><!--
document.write('<img arc="a.cgi?ref=' + document.refferer + '">');
//-->


なお、うろ覚え。


534 :530:02/02/05 10:46 ID:???
>>532
ありがdです。なんとかわかりそうです。
ただ、リファラーを正確に取得できないとなると、むやみに非常停止するわけにも行かないし、かといって全オープンにするのもシャクだし、最善策はどうなのでしょう。
う〜む…。

535 :名無しさん@お腹いっぱい。:02/02/05 10:50 ID:???
でも、ブックマークから飛んできた物には使えない。

ちょっと考えたアクセス制限。

まず、ブラックリストに奴のIPを登録。
奴が来た場合クッキーにその情報を渡しブロック。
奴が串をかましてきてもクッキーで割り出し。
その串をリストに追加。

とかね。

536 :530:02/02/05 10:54 ID:???
>>533>>535氏にもありがd。
漏れ的には特定個人をはじくための非常停止機構でもないし、アクセス解析でもないんでJSで取得ってのもいと難しき。

537 :CGI初心者:02/02/05 16:21 ID:jN2S9DC6
質問です。
カウンタ設置しようと思います。
index.html指定で書かれたカウンタ用のスクリプトcgiを
使用してindex.htmで問題になることはありますか?

538 :名無しさん@お腹いっぱい。:02/02/05 16:52 ID:???
537を理解できた奴は神

539 :名無しさん@お腹いっぱい。:02/02/05 16:53 ID:???
>>537
スクリプト内のindex.htmlをindex.htmに書き換えればいい

540 :539:02/02/05 16:53 ID:???
神ゲットー か?

541 :名無しさん@お腹いっぱい。:02/02/05 17:41 ID:???
>540
うむ。ズザー

542 :名無しさん@お腹いっぱい。:02/02/05 19:07 ID:???
CGIの質問でなくてすみません。

この板はなんでこんなに人が少ないんですか?
プログラム技術板の隔離板だからですか?


543 :名無しさん@お腹いっぱい。:02/02/05 19:15 ID:???
あははは

544 :名無しさん@お腹いっぱい。:02/02/05 19:30 ID:???
人が少ない−>バカが来ない−>初心者はweb制作に行く−>ウマー

もしかしたら第二のUNIX板にw。

545 :名無しさん@お腹いっぱい。:02/02/06 08:51 ID:3hxy9iwP
掲示板で排他処理しないと具体的にどんな事態になるのか想像出来ません
色で言うと何色になりますか?

546 :名無しさん@お腹いっぱい。:02/02/06 09:28 ID:???
白→良くて灰色、最悪の場合黒

これでいいかい?(わ

547 : :02/02/06 10:39 ID:PbQtpnzC
JAVAやクッキーがオフだと別のページに
飛ばしてしまう様なcgiってありますか?
これってcgiを使わなくてもできますか?
初心者過ぎて話にならないと仰らずに
入門者のおいらにも教えて下さいな。


548 :名無しさん@お腹いっぱい。:02/02/06 10:48 ID:4VmPYmTX
これぞC言語掲示板の雛型決定版!
のような勉強になる掲示板のソースがあったら教えてください。
よろしくお願いします。

549 :名無しさん@お腹いっぱい。:02/02/06 12:16 ID:???
<noscript><meta></noscript>



#!/usr/bin/perl

if(!$ENV{'HTTP_COOKIE'}||){print "location:http://lovelovesex.com/\n\n";exit;}

550 : :02/02/06 15:18 ID:???
549さん
早速、どうもありがとうございます。
メモっておいて完成したら試してみます。

551 :age派:02/02/07 00:21 ID:???
別スレでスレ違いだったことに気づきこっちに書き込み直しました。

鯖がhi-hoです。
それでCGIゲームを置きたくて
とりあえずApacheで動作確認したFFAとEndlessBattleを置いてみましたが
FFAは呼び出しの時点でスクリプトエラー
EBは呼び出しはできたもののどれかひとつでもリンク押すとスクリプトエラー
僕の力じゃどうしようもありません。
何か方法は無いでしょうか?

552 :名無しさん@お腹いっぱい。:02/02/07 00:22 ID:???
向こうで答えた。

553 :名無しさん@お腹いっぱい。:02/02/07 02:12 ID:ZsSbl5S8
すいません、
CGIプログラム上から別のページへLocationヘッダなどで呼び出す際、
渡す環境変数はいじれませんか?

554 :404 Not Found :02/02/07 02:19 ID:X0BR1SaY
掲示板サイトにおいて、荒らしの特定用に
レジストリからメアドとか名前を抜き出して、
<INPUT TYPE="hidden" NAME="meado" VALUE="xxx@hogehoge.com">
<INPUT TYPE="hidden" NAME="namae" VALUE="大橋巨泉">
をできる方法はないですか? VBスクリプトだと、できそうでできません。

555 :名無しさん@お腹いっぱい。:02/02/07 02:30 ID:???
>VBスクリプトだと、できそうで・・
教えて下さい  (爆笑

556 :89454:02/02/07 02:31 ID:oXR+e5L6
    、-.、._                               .__
    `ヽ、"'' - ._                       _,;:-‐ ''"/
      \   ~'' ー ,,__          _ ,,.:::-‐ ''" "~    /
        ヽ、   ,    ヾ'ヽ、__    ./'i~          /
         \  |!   丶、\"ーェ''7 /    /   _..,,ノ 
           `ヽi`ー-;,___"''ゝー<''~ ,,、-'"~i-ー''"~
          、_冫=-:::::::::::~"''"⌒ ̄ ァヽ,.へ,
          `ー,-''~::::/:::::::  ::::::::::::`>'´,/、丶
           / /:ァ'::::::::,i::::::、:..::: :::....ヽィ'\ノ::::. \
      、_, -/ .:ァ' .:シ ::...::::/!| ::::::|'、::::l__::i:::::;i :::::}::::::  `ヽ、,____,
     、_ニ=‐{ .:ノ! i, .:{ァ'"メ.l{l ::::| 'l''"}::`|.:::::} :::ト、::   "''==ニ  
.     `ー-/{./ { |:{.:{ヾツ_..,l,{....:::|. |' `ヽハ:ノ:::l::::|:::ヽ、  `ヾ、  
      ァ' /'.リ l :l|::ヾ〉.,ィ⌒i `ー'' '   `‐リ::ノ::ノ:::::i、ヽ  丶ト、
.     // .:/ .:ハ|:iハi、'、ヾ゚ツ    ''"¨ヾ,シ:/|:::: ハ:::}:..、.:: ::l )
     // / .:,' .:/:l .l:;:;リ}::} ひ、、  `  、、-'ソ /::'ノ'ハ::::}::::}:::ノリ 
     リ { .:/! :{ヽト'^^'リ :` 、_⊂ニつ '' lハ|ノ:ノ_ V ル'/
        l. ::{ `ヾ  ‘ .-ーレルハ''lー-‐'"|リルy⌒~   / 
.       ヽ|     /´   /#ハ  ,.:-‐l#l~    / 
             {  ,: ./#/   '  .|.#|.. ..ァ'  
              l .:i/#/         |#.{. ,;'
                l  ァ'-‐‐-:::;',.__   l.#|/
            i ./      ' ~⌒`ヾ、}'
              | .{  :::......        }
            j .ヾ、_::::::,,:::::::-‐  .....::ノ
               l  {=-‐-::;;_ ュ `::;;__;;;シ
  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
http://www.puchiwara.com/hacking/
やっぱコレだねェ〜♪

557 :名無しさん@お腹いっぱい。:02/02/07 02:33 ID:???
>553
QUERY_STRINGやPATH_INFO, HTTP_COOKIEくらいしか
できないんじゃないかな

>554
運がよければ HTTP_FROMに入ってるけど,普通は無理。

558 :名無しさん@お腹おっぱお。:02/02/07 11:54 ID:M9y2Y41A
>555
最近出版されている本に載っているとかマヌケなこと抜かぬなよ。

「誰も書かなかったホントの裏技(秀和)」
「ホームページ危ないトリック&トラップ(メディアテック出版)」
この2冊の内容はどちらもローカルでしか使えないクソスクリプトだということを
どれぐらいのガキどもが気づいているのだろうか?
内容も煽っているだけのドキュソだし。

559 :名無しさん@お腹いっぱい。:02/02/07 13:04 ID:???
抜かぬなよって何処の方言?



560 :名無しさん@お腹いっぱい。:02/02/07 13:28 ID:???
で、何でそんなイキリ立ってる訳よ

糞本は、糞餓鬼向けに書かれてんだから丁度良いんじゃねーのか
それとも、萌え萌えBBS荒された復讐の為にその本を買って
実践したけど出来なくて怒ってるのか?
そんな程度の低い本に金出すなら、MSDNの会費払ってfocus辺りチェック
した方がちょっとはマシだぞ

今の旬は、アクティブスクリプトとMIME偽造しての受動攻撃だ
一昔前は、ActiveXだのアプレットだのってレジストリに辿り着くまで
ちょっとは頭使ったもんだが、今はコイツのお陰でいきなりバイナリ
実行だ。
椅子使って天井にぶら下ったバナナ取れる程度の頭で理解出来るだろ

561 :名無しさん@お腹おっぱお。:02/02/07 13:54 ID:W77uI4p+
>>560
一旦、HTMLファイルごとダウソロードさせて、そこで抜いたデータを
INPUT TYPE="hidden" で送ることにしました。成功。
なお、両糞本は図書館でコピーしましたので購入していません。
どこのどいつかわからん奴に金払うのももったいないし。

>>559
吉祥寺ですけれど。タイプミスごときを発見してクソレスするのもどうかと。
上げ足取りでよろこんでんじゃねーよ。すんまそんって言ってほしいのか。

562 :名無しさん@お腹いっぱい。:02/02/07 15:20 ID:???
すみません初心者の質問です。
投稿した人がリアルタイムで投稿を閲覧できないタイプの掲示板を
探しているんですが、どこかにないでしょうか?(フリー・商用可で)
投稿をまず管理人が確認してから、管理人が手動で閲覧ページに
追加するようなタイプを探しています。
そういうのがない場合は、どういうCGIから改造すれば作りやすいかも
教えていただけるとありがたいです。

563 :名無しさん@お腹いっぱい。:02/02/07 15:23 ID:???
>>562ですけどすみません。
掲示板を探していると書きましたが、実際はご意見箱みたいに
使います。管理人が閲覧ページに追加するというのは別になくても
構いません。よろしくお願い致します。

564 :名無しさん@お腹いっぱい。:02/02/07 16:17 ID:???
>>562
スクリプト探してるならこっちの方がいいカモネ。
こんなCGI探してますスレッド Ver4
http://pc.2ch.net/test/read.cgi/php/1003132904/


565 :名無しさん@お腹いっぱい。:02/02/07 16:57 ID:???
>>564
ありがとうございます!また後で聞いてみます。

566 :名無しさん@お腹いっぱい。:02/02/07 22:14 ID:DkHnJcQz
携帯電話用の掲示板を見てると、ezwebだけ書き込めない所が多いのは何故?

567 :名無しさん@お腹いっぱい。:02/02/07 22:19 ID:WQ26b83K
ここにもあったYO!
http://asian.elitecities.com/books/value.html

568 :名無しさん@お腹いっぱい。:02/02/07 22:21 ID:DkHnJcQz
>567
職場で開いてしまったじゃないか

569 :名無しさん@お腹いっぱい。:02/02/08 00:10 ID:???
>>566

奴らはHDMLだから。

570 :名無しさん@お腹いっぱい。:02/02/08 21:55 ID:7b9QJMyH
CGI(Perl)で作成したビットマップイメージ(BMPファイル、という意味ではなく、
ピクセル毎の濃度情報の羅列、という広義のビットマップ)を、GIFなり
PNGなりに変換して、クライアントに返してやりたいんですけど、
そういうことって難しいでしょうか?

Cとかで書かれたPNGの圧縮ライブラリをPerlに翻訳するのは相当大変そうですが。
WindowsBMP形式で出力するのならPerlからでも簡単に書けますが…。
その辺の方法で、妙案を知ってる方、教えてくださいです。

571 :名無しさん@お腹いっぱい。:02/02/08 22:42 ID:???
>>570
GD.pmは?

572 :名無しさん@お腹いっぱい。:02/02/09 04:48 ID:Tw5caV36
Fri Feb 08 19:19:16 2002
↑ この日付を
1970年1月1日00時00分00秒からの秒数に一発変換する方法
ないでしょうか…。


573 :572 :02/02/09 04:53 ID:???
すみません、言語はPerlです。

574 :名無しさん@お腹いっぱい。:02/02/09 05:21 ID:???
>572
Date::Parseあたりのモジュール入れれば1発でできる。
標準で付いてるTime::Local使って,自分で関数書いても
10行ぐらいでできる(はず)

575 :名無しさん@お腹いっぱい。:02/02/09 05:59 ID:???
私は Time::Piece を勧めておくよ

576 :574:02/02/09 05:59 ID:???
>572
他の環境で動かない可能性高いけど,自作するならこんな感じかなぁ。

use Time::Local;
sub parse_date {
my($time,%month,$sec,$min,$hour,$mday,$mon,$year);
$time = shift;
@month{qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)} = (0..11);
($mon,$mday,$hour,$min,$sec,$year) =
($time =~ /\w{3} (\w{3}) (\d{1,2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})/);
return timelocal($sec,$min,$hour,$mday,$month{$mon},$year);
}

#以下テスト
$date = 'Fri Feb 8 20:42:33 2002';
$time = parse_date($date);
print "$date\n"; #Fri Feb 8 20:42:33 2002
print "$time\n"; #3096040756
print localtime($time)."\n"; #Fri Feb 8 19:19:16 2002

577 :572:02/02/09 06:44 ID:???
>>574,575,576
レスありがとうございます。
この時間、人が少ないので助かりました。
>>576
574を読んで、ちゃんと解決してから書き込もうと思っていたら
コードまで書いて頂いてるとは。ありがとうございました。

578 :名無しさん@お腹いっぱい。:02/02/09 07:07 ID:???
perlでつくられたチャットを軽量化しようとおもっています。

nphスクリプトとgzipを実装しようとおもっていますが、この二つを導入するデメリットや注意点などありますでしょうか。

579 :名無しさん@お腹いっぱい。:02/02/09 13:23 ID:???
gzipを実装。
データ量とのトレードオフでマシンパワーを使う。

580 :名無しさん@お腹いっぱい。:02/02/09 13:54 ID:???
>>579
レスthxです。
2chの場合はあまりCPU負荷が増えなかったそうですが、gzip実装する場合としない場合、どちらが鯖に優しいですか?
チャットなので20秒に1度10kb程度のデータです。

581 :名無しさん@お腹いっぱい。:02/02/09 15:58 ID:???
Perlの場合、メモリを異様に食うのと速度が遅いのが問題だと思うんだよね。
一番の近道はCで実装する事だと思うよ。

582 :名無しさん@お腹いっぱい。:02/02/09 16:28 ID:???
>>581
いっそアセンブラw。

583 :名無しさん@お腹いっぱい。:02/02/09 18:13 ID:???
>578
前にチャットスレで見た,
ログをHTMLじゃなくてJavaScriptで書き出すってのはどう?

584 :名無しさん@お腹いっぱい。:02/02/09 19:31 ID:???
>>581-582
そこまでの力量がない腐れ厨房なんです、すみません(^^;;
でもせめて負荷の高いCGIおくのだったら、かんたん出来る軽量化はやっておきたいなあというわけなんです。

>>583
javascript、検討したんですがカスタマイズがしにくかったり、同期でトラブル微妙にもってたり、何より漏れの脳味噌の処理能力を超えていて(^^;;
にゃかにゃかうまくゆかんです……

ぐーぐるってみてもnphとgzipはとりあえずやっといて損はなさそうなので、やってみますです。

585 :名無しさん@お腹いっぱい。:02/02/09 22:43 ID:???
>584
mod_perlとか SppedyCGIのほうが効果あるんじゃない?
普通のチャットなら,プログラム起動に 10かかるとして,処理は 3くらいしかかかってない。
起動時間を縮めたほうが効果的。

586 :名無しさん@お腹いっぱい。:02/02/09 23:08 ID:???
sendmailでメール送信したとき
2行目以降の先頭文字が一文字飛ばされてしまうんですが原因不明で困ってます。
日本語だと当然省略された行からjis変換できず化けているようです。
(あ、てことは変換前に何か原因が・・・?!)
いや、変換後に飛ばされてるのかもですが、jcode.plの変換をナシにしても
結果はおなじでした。
誰か助けてください。きっかけをください。

587 :名無しさん@お腹いっぱい。:02/02/09 23:27 ID:???
>>585
mod_perlのほうは調べてみて「こりゃー、下手に手をだすと鯖に迷惑をかけてしまいそうだ」と、躊躇していました。

speedCGIのほうは知りませんでした。thx! ぐーぐるってきます。

588 :名無しさん@お腹いっぱい。:02/02/09 23:31 ID:???
>>587
とりあえず、gzipは止めておけ。

589 :_:02/02/10 02:24 ID:???
POSTメソッドのテストをしたいのですが何か良いツールはありませんか?
例えばttp://www.trusnet.com/secinfo/docs/webprog1/part1-section2.html
のTCP_Scanerみたいなやつ探してます!

590 :名無しさん@お腹いっぱい。:02/02/10 02:27 ID:???
>>589
お前、例のbbs.cgiのアレ試したいだけちゃうんかと。

591 :589:02/02/10 02:34 ID:???
???例のbbs.cgiは知らないですが、アレはCSS?
いつもはFreePeekでキャプチャして見てるんですが、これは使えるかなと思いまして。

592 :名無しさん@お腹いっぱい。:02/02/10 02:52 ID:???
>589
telnet

593 :名無しさん@お腹いっぱい。:02/02/10 02:59 ID:???
携帯でのみ特定の文章(html)を表示させるプログラムがCGIでできるらしいのですが、
ドコで調べればいいのかわからないのでやり方を教えて下さい。

594 :名無しさん@お腹いっぱい。:02/02/10 03:04 ID:???
REMOTE_ADDRや HTTP_USER_AGENTを調べる。
あと, HTMLでなら noscriptを使うとか。

595 :名無しさん@お腹いっぱい。:02/02/10 03:08 ID:???
>>592
telnetとはめんどいな。
おいらも便利ツールキボンヌ

596 :名無しさん@お腹いっぱい。:02/02/10 03:21 ID:???
>>589
見たけど
このようなツールは,プログラミングとTCP/IPについての初歩的な知識があれば作成できる
だとよ!
Delphiで作ったぽいが、持ってても俺は作れん。
googleでも見つからんな。(w

597 :名無しさん@お腹いっぱい。:02/02/10 03:26 ID:x2r/lBJQ
ActivePerl使ってるんですが、
CGIを起動させるたびに、CGItempXXXXXっていうファイルが残るんです。
どうしてですか?


598 :名無しさん@お腹いっぱい。:02/02/10 03:34 ID:???
>>588
やっぱgzipはトレードオフでの負荷が高すぎっすか?(-_-;

細かい負荷を検証する方法があればお教え願いたいです。

599 :589:02/02/10 03:51 ID:???
>592、595、596 さんどうもです。
vectorとか探してもそれらしきものが見つからなかったです。
ってか皆さんはPOSTメソッドどうやってテストしてます?
変数変えるのも面倒で。telnetもTeraTERMとかでマクロ組めば楽なのかな。
もちょっとデバッグの勉強せねば。

引き続きツール情報お待ちしております。

600 :593:02/02/10 04:33 ID:???
初心者なもので、ちょっとまだわからないです。
PCから来た人に対してはソースも見せたくないんです。
UAを指定すればいいということはわかるんですが、
それは具体的にはどうすればいいのでしょうか?
質問ばかりですみませんが、ご存知の方ご教授下さい。

601 :名無しさん@お腹いっぱい。:02/02/10 04:56 ID:???
>>599
POSTメソッドのテストってのが何なのかワカランけど
ヘッダとポストされたデータ見るなら、Proxomitronが簡単便利。
http://www.pluto.dti.ne.jp/~tengu/proxomitron/
↓ こんなカンジ

POST /cgi-bin/test/bbs.cgi HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Referer: http://192.168.1.1/cgi-bin/2chbbs/index2.html
Accept-Language: ja
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Host: 192.168.1.1
Content-Length: 148
Pragma: no-cache
Connection: keep-alive
Cookie: NAME=名無しさん
Browser reload detected...
Posting 148 bytes...
submit=%8F%91%82%AB%8D%9E%82%DE
FROM=%96%BC%96%B3%82%B5%82%B3%82%F1
mail=
MESSAGE=%8F%91%82%AB%8D%9E%82%DE
bbs=2chbbs
key=1010920016
time=1012492903

HTTP/1.1 302 Found
Date: Sat, 09 Feb 2002 19:33:57 GMT
Server: Apache/1.3.22 (Win32)
Set-Cookie: NAME=名無しさん; expires=Tuesday, 12-Mar-2002 00:00:00 GMT; path=/
Set-Cookie: MAIL=; expires=Tuesday, 12-Mar-2002 00:00:00 GMT; path=/
Location: ../2chbbs/index2.html
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

602 :名無しさん@お腹いっぱい。:02/02/10 05:16 ID:???
>>599
うぇ、リンク先見たら601とちょっと違うみたい。
ヘッダ自体はProxomitronで自由に送れるけど、
ポストしたいならクライアント書いたほうが…。

603 :名無しさん@お腹いっぱい。:02/02/10 11:51 ID:???
PerlかJavaで書いてみ
どっちも100行位で出来るから
俺はPerlで書いて%POSTの値を直接書き換えてる

604 :589:02/02/10 12:12 ID:???
>601、602、603 さんどうもです。
Proxomitron なるほど、local proxy でフィルタがメインのソフトなんですね。
win板でスレも見つけました。ttp://pc.2ch.net/test/read.cgi/win/1010675673/
落としてみましたが、高機能ですね。これから使ってみます。

100行位...どこかにサンプルないですかねぇ…。甘すぎ?

605 :名無しさん@お腹いっぱい。:02/02/10 13:01 ID:???
>604
んー、サンプルは荒らしツールだろ  (笑
漏れのはちょっと変なスイッチとかゴチャゴチャ付いてるんでね
まあ、どっちにしてもまともなパケット飛ばすなら全部Perlで出来るから
やってみれ

1:%POSTにPOSTの内容、%HEADにヘッダの内容
2:%POSTのエスケープ s/([^ \w])/printf"%%%02X",ord$1/eg for(keys %POST);
3:%POSTを連結してlengthを取っておく
4:use IO::Socketしてサーバに繋ぐ
5:ヘッダから順に流し込む

もっともプリミティブなDUKE  w

606 : :02/02/10 15:47 ID:???
Perlなのですが、printfを使って得る出力結果を戻り値として得る方法は無いでしょうか?

例えば、
printf ( "%05d", "1" )の時は00001を文字列として受け取りたいのですが。

607 :名無しさん@お腹いっぱい。:02/02/10 15:49 ID:???
>>606

sprintfと言う便利すぎる関数がある。

$a = sprintf ( "%05d", "1" );

608 :606:02/02/10 15:50 ID:???
後から読み返して日本語がぷーなので補足しますが、
printfによるフォーマット付き出力をprintしないで得る事は出来るか?という事です。

609 :606:02/02/10 15:51 ID:pSADSDVf
>>607
早いありがとうございました。

610 :606, 608, 609:02/02/10 15:54 ID:???
>>607
早いレスポンスありがとうございました。です。。(´д`)

611 :589:02/02/10 21:15 ID:???
>>605
DUKEってPerlDUKEってものなんですね。調べてようやく分かりましたが
つまりは諸刃の剣ってことで、なかなか転がってるものでは無いのですね。
大変参考になりました。Perlもっと勉強しよっと。

612 :名無しさん@お腹いっぱい。:02/02/11 10:03 ID:9PTzyEYB
gif表示のアクセスカウンタ作ったんですが、ネスケ6でだけ表示がおかしいんです。
画像連結にはgifcat.plというのを使ってます。
他のブラウザではちゃんと表示されるんです。
どうしてですか?

613 :名無しさん@お腹いっぱい。:02/02/11 12:15 ID:a/gnXcc0
>>612
ソースを見せて下さい。
それとどうおかしいのか説明きぼん。

614 :612:02/02/11 16:19 ID:9PTzyEYB
ありがとうございます。カウンタの本体で画像連結してる部分は以下です。
開設サイトのサンプル通り。
require "gifcat.pl";
binmode(STDOUT);
print &gifcat'gifcat(@files);  #@fileは1.gif、2.gifなど
あと、gifcat.plはたぶん有名なライブラリだと思いますが、中身は理解してません。
画像には透過gifを使用。画像サイズはすべて統一。
ネスケでの症状は、一桁しか表示されなかったり、
黒文字の背景透過のはずが白字に文字が透過になったりとそのときによって違う。
よろしくお願いします。

615 :名無しさん@お腹いっぱい。:02/02/11 16:29 ID:???
>614
その時によって違うという事は、カウンタの画像のうちのどれかに問題がある可能性が高いのでは?
同じ処理をしていて違う結果が出るとしたら、ブラウザなどの不具合か、
「カウンタの特定の数字でその現象が起こる」という可能性が高いと思うのだけれど。
例えば、画像の内、ひとつだけが透過GIFになってなかったりとか。

616 :612:02/02/11 16:59 ID:9PTzyEYB
ありがとうございます。
同じカウント数でもネスケだけ(バージョン6.2だけ)だめでした。
しかし、ブラウザによって挙動が違うのは、ちょっと僕の理解を超えてます。
初心者なのでわからんですが..。ブラウザにとっては単なるgif画像ですよね??
今気づきましたが、html内のimgタグで参照しているときは崩れた一桁、
cgiを直接ブラウザで実行した場合は全桁表示で同様に崩れています。
うーわからん。よろしくお願いします。

617 :名無しさん@お腹いっぱい。:02/02/11 17:15 ID:???
NN6は使ってないからよくわからないけど、「アニメーションをオフにする」とかなってない?
IEだとアニメーションオフだと表示されないんだけど、関係ないかな?

618 :613:02/02/11 17:49 ID:???
>>612
gifcatの冒頭に
;# アニメGIF同士を連結することはできません。
;# アニメGIF対応のブラウザでなければ、最初の画像しか表示されません。
;# 高さの異なるGIFファイルは連結できません。
と記されているけども上記三点は確認した?
俺も>>617さんと同じ意見です。
まあネスケはユーザー少ないんだからIEで動けばいいんじゃねえのヽ(´ー`)ノ
なんちて。お役に立てなくてスマソ。

619 :613:02/02/11 17:56 ID:???
それとどうしてもダメだったらgifcat.plを使わなければいいじゃん。
ちょっと(かなり)動作が遅くなるけど、一桁ずつCGIで処理する方法とか。

620 :612:02/02/11 20:41 ID:9PTzyEYB
ありがとうございます。なんだかやたら重いですねここ。
アニメはしてないんですけどね。
imgタグひとつでやりたいんですが、ばらばらの複数桁表示することってできるんですか?
うーむ、不勉強なもので、どうやるんだろう。

621 :612:02/02/11 20:49 ID:9PTzyEYB
なんか日本語おかしかった。
imgタグひとつでcgi呼び出して、ばらばらのgif画像を表示するのは無理ですよね??
桁数分のimgタグ書かないとだめですよね?
うーん、それはめんどくさいなあ。全部で10個くらいカウンターあるし。
4桁でも40個タグ書かなきゃならんのか。

622 :名無しさん@お腹いっぱい。:02/02/11 20:51 ID:???
>620
gifcat.plはアニメーションとして扱われている。
俺も理屈は知らないが、とにかくブラウザは「アニメーション」として認識している。
元の画像がなんであれ。
だから、アニメーションをオンにしておかないと表示されない。

バラバラ複数表示は、1/10000、1/1000、1/100、1/10、1/1の桁の数字をそれぞれ表示させればいいだろう。
IP取るか何かで重複カウントをしないようにして。

重いのは攻撃受けてるかららしいぞ。
ttp://mentai.2ch.net/accuse/

623 :名無しさん@お腹いっぱい。:02/02/11 20:52 ID:???
>621
IMGタグを書くのをめんどくさがるような奴は、プログラミングに向いてない。
あきらめろ。

624 :名無しさん@お腹いっぱい。:02/02/11 21:35 ID:???
何かNNでそんな問題有るってのは前に聞いた事あるぞ
取り合えずファイル変えて何個か試してみれ

# GDで吐き出せって解が無いのはネタか?

625 :612:02/02/11 21:50 ID:9PTzyEYB
なるほどなるほど。gifcatはアニメーションなのか。
でも、他のアニメgifは表示されてるし..。
取り敢えず、画像変えてみます。

攻撃されてるんですか。攻撃してる暇あったらimgタグ40個でも書くっちゅうのに。
とりあえず、ありがとうございました。GD、調べてみます。

626 :名無しさん@お腹いっぱい。:02/02/11 23:23 ID:???
パレットは同一か?

627 :名無しさん@お腹いっぱい。:02/02/12 03:24 ID:???
newsproを設置したいのですが、どうすればいいのかさっぱりわかりません。
どなたかnewspro設置に関する解説の載っているHPなど、ご存知の方はいらっしゃいませんか?

628 :名無しさん@お腹いっぱい。:02/02/12 05:13 ID:???
>623
ずらっと並んだIMGタグ見て悦に入ってるヤツはプログラミングに向いてない。
>612
いかに少ない手間で望んだ処理を実装できるかがプログラマのセンスだ。
頑張れ。

629 :名無しさん@お腹いっぱい。:02/02/12 09:40 ID:???
>628
望んだ処理を実現できなかった時に別の手段を考えられない奴もプログラマにむいてないと思うぞ。

630 :名無しさん@お腹いっぱい。:02/02/12 20:28 ID:xItClW5N
File Upload CGI Second Editionを設置したら、一部ファイルが削除できなくなってしまいました。
削除方法を教えてください。
掲示板も潰れてて質問もできないです。
http://homepage1.nifty.com/~heppoko/
↑ここで配布してます。

631 :名無しさん@お腹いっぱい。:02/02/12 21:01 ID:J8KR6oNi
プログラマに向いていない度
>>612>>>>>>>>>>628>>>>623
>>628
>いかに少ない手間で望んだ処理を実装できるかがプログラマのセンスだ。
少ない手間で済まそうと、CGI.pmを多用して鯖に迷惑をかける人の発言っぽいので減点。
>>629
激しく同意
>>612
タグのたかが40個も書けない奴はJAVAを書くとしたらハローワールドしか
書けません。逝ってヨシ

632 :630:02/02/12 21:08 ID:xItClW5N
削除用CGIスクリプトを見つけて自己解決です。
また質問するかもしれないのでよろしく。

633 :名無しさん@お腹いっぱい。:02/02/12 21:15 ID:???
>>630
File Upload CGI Second Editionというのを設置した事がないんだが、
FTP(か付随のファイルマネージャ)を使って削除すればいいんでは?
其れとも、それ自体ができないのか? 関係ないならスマソ

634 :名無しさん@お腹いっぱい。:02/02/12 21:18 ID:???
>>633
CGIで負荷をかけつつファイルをうpするなんてナンセンスだよね。
FTP使ったほうが数倍まし。
実際そういうスクリプトってプログラマが自己満足(勉強)のためだけに作成
してるパターンが多いと思う。。

635 :名無しさん@お腹いっぱい。:02/02/12 21:24 ID:???
>>634
20-21番ポートが閉じられている教育機関がどれだけ多いか考えたこと無いだろ?

インターネットへのゲートウェイとしてHTTPプロキシしか用意されていない環境とか想像したこともないだろ?

FTPでも負荷はかかるって驚愕の新事実だろ?

自分の世界だけで人をバカにしないように。

636 :名無しさん@お腹いっぱい。:02/02/12 21:31 ID:???
>>635
"設置したら"っていってるんだからFtpで設置したんでしょ

637 :名無しさん@お腹いっぱい。:02/02/12 21:33 ID:???
>>635
別にバカになんかしてなぃょぅ。。
実際漏れは自己満足だけのためにアップロードcgiを作成中だから
言ってみたんだよ。ゴメンネ。

638 :名無しさん@お腹いっぱい。:02/02/13 13:16 ID:???
>>612
gifcat.pl使って同じ問題発生してるよ。
透過gifを使った場合にグチャグチャな表示になる。
透過gifじゃない場合は最初の一桁が黒くなる。
とほほのページも後者になってるから、たぶんgifcat.plの問題っぽい。
全然解決策じゃないけど、透過gifを止めて桁数を1つ多くしとくとか。

639 :教えてください。:02/02/13 17:00 ID:TSfdBnbM
すみません。教えてください。
SSIのような感じで外部htmlをcgiのページに入れることって可能ですか?
ちなみにshtmlに外部htmlだと「#include」を使います。
こんな感じにcgiのページに取り組むことって出来るのでしょうか?
よろしくお願い致します。

640 :名無しさん@お腹いっぱい。:02/02/13 17:25 ID:???
>>639
CGIにそのような機能は無いが、
CGIスクリプト自身で実装は可能。

641 :639:02/02/13 17:40 ID:TSfdBnbM
ありがとうございます。
やっぱそういった機能はないんですか。

>CGIスクリプト自身で実装は可能。

たとえばどういった方法ですか?
重ねて質問でスミマセン・・・。

642 :名無しさん@お腹いっぱい。:02/02/13 17:51 ID:???
HTMLファイルをオープンしてプリント。

643 :639:02/02/13 18:01 ID:TSfdBnbM
>>642
うーんやっぱそれしかないですかぁ。
いろいろありがとうございました。
勉強になります。

644 :伝説の勇者ロリ ◆Ug2000AA :02/02/13 19:04 ID:OBfug7d+
17スクリプトで作った掲示板をリスト表示するスクリプトをかいて下さい

645 :名無しさん@お腹いっぱい。:02/02/13 20:03 ID:???
>644
みかえりは?

646 :名無しさん@お腹いっぱい。:02/02/13 21:03 ID:+kVUoqof
http://www.wired.com/news/business/0,1367,42276,00.html
みたいなこんまつきURLは、どういったシステム(?)を
使ってるときのURLなんですか?

647 :名無しさん@お腹いっぱい。:02/02/13 22:51 ID:???
>>646
開発者の趣味じゃないの?

648 :名無しさん@お腹いっぱい。:02/02/14 13:29 ID:uu2YqRDp
>>631
>少ない手間で済まそうと、CGI.pmを多用して鯖に迷惑をかける
この部分、詳しくキボンヌ

649 :名無しさん@お腹いっぱい。:02/02/14 16:09 ID:???
WindowsでCGIチェックするには何使ってますか。
anhttpd使ってたんだけど、だんだん重くなって困る。win98se
ってことでapache入れてみたんだけど、サーバーにPUTするときは1行目は
絶対書き換えなきゃならないの?

650 :名無しさん@お腹いっぱい。:02/02/14 16:29 ID:???
>>648
>>631じゃないが
CGI.pmはメモリを食う(といってもても1MB程度だが)のだ。
それにコンパイルにもかなり時間がかかる。これCGIスクリプトとしては致命的。
自鯖やmod_perlならともかく、共用鯖で使用するのはお勧めできない。


651 :名無しさん@お腹いっぱい。:02/02/14 16:49 ID:VPX5WYBv

    /∵∴∵∴\
   /∵∴∵∴∵∴\
  /∵∴∴,(・)(・)∴|
  |∵∵/   ○ \|
  |∵ /  三 | 三 |  / ̄ ̄ ̄ ̄
  |∵ |   __|__  | < CGI.pm、素人にはお勧め出来ない。
   \|   \_/ /  \____
     \____/


652 :名無しさん@お腹いっぱい。:02/02/14 17:51 ID:???
CGI.pmの機能のうち、URLデコードしか使わないのなら、おなじみのコードのコピペかcgi-lib.plで十分だよな。

653 :名無しさん@お腹いっぱい。:02/02/14 18:46 ID:???
>>652
得意げな顔して何がコピペかcgi-libだよな、だ。
お前は本当に分かっているのかと問いたい。問い詰めたい。小一時間問い詰めたい。
まぁ普通はCGI::LiteかCGI::Minimalでも使ってなさいってこった。

654 :名無しさん@お腹いっぱい。:02/02/14 19:33 ID:???
>>653
しかし事実だろ。


655 :名無しさん@お腹いっぱい。:02/02/14 19:50 ID:4Wmucv6g
質問質問!
http://pc.2ch.net/test/read.cgi/php/1003132904/928で発言したんだけど、cgiってphpの変数出力ってできるのかな?
ちょっとcgiのこと(仕組みとか)わからないんだけども、cgiはphpの実行権限がないのかな、とか思った。かなり的外れっぽいけど

656 :名無しさん@お腹いっぱい。:02/02/14 20:22 ID:???
URLデコードもファイルのアップロードも、もう汎用のルーチンが
出そろっているにもかかわらず(しかも、俺専用サブルーチン化も終わってる)
CGI.pm使うメリットってあるのでしょうか?

657 :名無しさん@お腹いっぱい。:02/02/14 20:30 ID:???
>>649
httpd.confで
ScriptInterpreterSource registry
というところを探してみな。
せっかくだからapacheスレも読んでおけ。ためになるはず。

658 :名無しさん@お腹いっぱい。:02/02/14 20:47 ID:???
>>656
メリットがあるか否か、と問われれば"ある"だろうよ。
param()を初めとしてquery_string()、header()、self_utl()、cookie操作といったメソッド群は捨てがたい。
ただそれに伴うデメリットが大きすぎるように感じるので俺は自作のを使うが。

659 :名無しさん@お腹いっぱい。:02/02/14 22:29 ID:9A/CUBFF
どなたか教えてください。
あるドメイン上で食べさせたCookeiを全く違うドメイン上で有効にさせることってできるんですか?

660 :名無しさん@お腹いっぱい。:02/02/14 22:30 ID:???
>659
DNSのセキュリティホール使ってなりすましましょう。

661 :名無しさん@お腹いっぱい。:02/02/14 22:36 ID:nozayNsj
>660
そうゆう問題になってしまうんですか...。
要するに別々の違うドメイン同士でシングルサインオンを実現したいんですけど、
何かやりかたありますか?

662 :名無しさん@お腹いっぱい。:02/02/14 23:59 ID:???
あのね、Cookieがそんなことが簡単に許したらさ、サイトに来る
やつのオンラインショッピングやバンキングのIDとパスワードを
getしようとする輩の片棒を担ぐことになりませんか?


663 :名無しさん@お腹いっぱい。:02/02/15 00:47 ID:???
>661

print <<HTML_SOURCE;
<HTML>
<HEAD>
 <TITLE></TITLE>
 <META http-equiv="refresh" content="0;URL=目的のドメイン">
</HEAD>
<BODY>
 <INPUT type="HIDDEN" name="id" value="id">
 <INPUT type="HIDDEN" name="pass" value="pass">
</BODY>
</HTML>
HTML_SOURCE

とりあえず移動はできたけど?

664 :名無しさん@お腹いっぱい。:02/02/15 01:19 ID:DAKSQb3X
両方ともSSL内で、最初のドメインでログインした情報、でなくてもいいんですけど、
「どっからのリンクか」とかIDとかをCookeiにのこして、
移りたいドメインの方でそのCookeiを認識して、
そのままログインできないかってことなんですけど、
やっぱり無理なものですか?
突拍子もないこと言ってたらすみません。

665 :612:02/02/15 01:56 ID:nyIDEBdJ
>>638
めちゃめちゃ遅レスですが、gifcat.plの件、ありがとうざいます。
gifcat.plの中身を勉強してみます。

666 :名無しさん@お腹いっぱい。:02/02/15 02:27 ID:???
結局、Cookie と ビスケットの違いは何なんでしょうか?

このままでは のどが乾きすぎて食べることができません。

667 :名無しさん@お腹いっぱい。:02/02/15 03:38 ID:oErzQw9b
CGI.pmのコンパイル時間ってそんなに気になるものか。
そうなると、他のモジュールもつかえねーなぁ。
まあおれも自作のCGI::*作ってるけど。

668 :名無しさん@お腹いっぱい。:02/02/15 07:10 ID:???
>>667
コンパイル時間よりモジュールの能力や使用目的と
メモリの消費量との比較の話だと思うぞ。
デコードしたいだけで使うな、しかも共用鯖で。って話。
かといってすげー高機能なことをしたいし実際
するモジュールなのでメモリくいますって言われてもウザいけどな。
結局は「共用鯖でメモリくうな」って話か。@data=<IN>と一緒で。

669 :名無しさん@お腹いっぱい。:02/02/15 13:18 ID:???
http://www.ace-cgi.jp/
↑のニセビンゴゲームEXと言うのをDLして、鯖にUPもしたんですけど、
説明が不十分すぎて全然わかりません。
これはどういうタグを打ったら、HPに表示されるんですか?
そして、説明にはビンゴの一日に発表する数字が変えられるとか書いてあるけど、
CGI初心者なのでどこを書き換えればいいのか全然わかりません。
質問メール禁止ってかいてあるけど、あんな説明じゃ全然わからないので、
メール送ったらやっぱり無視されてるし・・・。
もう2chでしか解決する手段がないんです。
どうかよろしくお願いします。

670 :名無しさん@お腹いっぱい。:02/02/15 16:35 ID:blqT6YTo
sendmail等が使用出来ないサーバではご利用頂けません。
ってかいてあるよ

671 :名無しさん@お腹いっぱい。:02/02/15 16:52 ID:???
>>669
アンタが何をしたいのか、説明が不十分すぎて全然分からない。
> これはどういうタグを打ったら、HPに表示されるんですか?
どういう意味?

672 :名無しさん@お腹いっぱい。:02/02/15 16:56 ID:???
>>669のサイトより引用

> このようなホームページを運営していると、色々な方からメールを頂きます。
> 励ましのお言葉やお礼を言ってくださる方。本当に嬉しく思います。
> このようなメールを頂ける為、私の場合は結構恵まれていると思います。
> しかし、本当に「常識あるの?」という人も非常に多いのです。
> まったく知らない人にメールを送る場合、普通は「送っていいものか」考えませんか?
> たとえば、「○○についてのメールはお断りします」「メールを頂いても返信致しません」等、注意書きがないかをよく捜してからメールするのが普通ではないでしょうか。
> 私のHPには、あちこちに「サポート目的のメールはお断りします」と書いているのにも関わらず、沢山のサポートメールが届きます。
> 性格的に、来たメールに対して無視する事が出来ずにそれなりの返答をしておりました。が、きりが無いので今では返事を出す事を辞めました。
> 文面が丁寧であればまだ我慢も出来ますが、礼儀も何もあったものではないメールも多いです。
> 「うまく行かないんですけど〜どうすればいいの?」「パーミッションってなに?」
> 突然知らない人にこんな口調でものを言っていいもんなのか、、、、

>>669
これでもメールを送るとは、お前相当な厨だな。

673 :名無しさん@お腹いっぱい。:02/02/15 18:11 ID:???
>>657
ありがとうございます。勉強します。

674 :名無しさん@お腹いっぱい。:02/02/15 18:12 ID:u5RDXGaq
HTML::Template に変わる軽くてイケてる Template モジュールないかな。
いままで、平気で HTML::Template 使ってたが、なんだか馬鹿でかいモジュール
は迷惑らしいんで。

675 :名無しさん@お腹いっぱい。:02/02/16 00:26 ID:???
>>674 自分で作っちゃえば?

676 :osiete:02/02/16 05:46 ID:/tWP7Box
biglobeでapebord+を使おうとしているんですけど、
うまく行かないので教えて下さいませ。

とりあえずapeのオンラインマニュアルに従って設定して、
鯖にあげ、パーミッションもそこに書いてあるとおりに変更しました。

それからapebord_p.cgiにアクセスすると
Forbidden 
Your client is not allowed to access the requested object.
と出てしまいます。

cgi自体の設定は何度も見直したので間違いはないと思います。
サーバメッセージからやはりパーミッションに問題があるのでしょうか?
鯖によって別のパーミッションを設定した方がいいのでしょうか?
また実際にbiglobeにapebordを設置している方がいらっしゃったら
アドバイスを下さい。

677 :  :02/02/16 05:48 ID:A2kD2wAS
Your client is not allowed to access the requested object.
って、エラーが出てるでしょ。
許されてないわけよ。ようするに。

678 :osiete:02/02/16 05:52 ID:/tWP7Box
>>766
つまりはビッグローブではエイプは使えないと言う事ですね。
アリガトウございました。
諦めがつきました。

679 :名無しさん@お腹いっぱい。:02/02/16 07:58 ID:???
>>678
ディレクトリのパーミッションは大丈夫?
http://kingdom.biglobe.ne.jp/help/secstabl.html

680 :Name_Not_Found :02/02/16 08:32 ID:???
>>665
とほほのサイトにはこう書いてある。
> ・Netscape 6.* では、一番最初の桁がうまく表示できないことがあり
> ます。→ 一番最初の画像の大きさが全体と異なる場合に表示がおか
> しくなるという、ブラウザ側のバグが原因だと推測しています。


681 :osiete:02/02/16 09:36 ID:m2PS92h6
>>679
あれ?ディレクトリにパーミッションなんてあったんですね。
ありがとうございます。試してみます。
後ほど報告します。

ちなみに679さんはビッグローブでapebord使ってるんですか?

682 :osiete:02/02/16 10:12 ID:???
調べたところディレクトリのパーミッションはOKでした。
しかし、ダメでした。

なんか、掲示板本体のcgiを755、
jcode.plを705に設定しなければならないんですけど、
片方を755にすると、もう一方も755になってしまうという現象がおきます。
逆に705にしても同じです。
なんなんでしょうか。
とりあえずもう少しイジッてみてダメなら諦めます。
677さんと679さんありがとうございました。



683 :名無しさん@お腹いっぱい。:02/02/16 20:13 ID:YD7vP/c3
C++でCGIを組みたいのですが、
それに関する良い参考書って無いですか?

684 :名無しさん@お腹いっぱい。:02/02/16 20:42 ID:???
>>683
必要ない。

環境変数の取得の仕方。
標準入力からのデータ取得。
標準出力へのデータ出力

ができればいい。

Perl用の参考書を軽く読めばできると思われ。
CGIの参考書と言っても中身はほとんど言語の使い方。

685 :名無しさん@お腹いっぱい。:02/02/16 22:10 ID:fa/OrNt0
2ちゃんねるのような
フロート型掲示板を設置したいのですが
軽い物有りませんでしょうか?
megabbsはiswebでは無理でした。

686 :名無しさん@お腹いっぱい。:02/02/16 22:11 ID:???
>>685
規約に2ch型掲示板の禁止と無いか?
軽い重いは問題ではない。

687 :685:02/02/16 22:21 ID:fa/OrNt0
そうか!
規約読んでなかった!
megabbsはレス出来ても
スレ立てられなかった

688 :買物カゴ:02/02/16 22:27 ID:???
インターネットショップのための
CGI&JavaScript(アングラーズネット)
という本にのっている
買物カゴのプログラムを見ているのですが、
最初のところがさっぱりわかりません。
クッキーを取得して1行ずつに名前をつけているようなのですが、
そのあとcount1 から count7 まで
数字をつけています。
これが、何を意味しているのか知りたいのですが・・・


689 :名無しさん@お腹いっぱい。:02/02/16 22:42 ID:???
>>688
ソースも見せずにまぁ・・・。

690 :名無しさん@お腹いっぱい。:02/02/17 01:00 ID:???
>688
その本ボクに買ってくれたら教えてあげるYO!

691 :名無しさん@お腹いっぱい。:02/02/17 02:24 ID:???
>>688
まあ待て、お前の態度次第では教えてやらんでもないぞ。
WinMXでオレ様にエロゲーを3、4本落とさせろ。そうすれば
教えてやってもよいぞ。

692 :買物カゴ:02/02/17 14:40 ID:???
エロゲーありませんが・・・

$count1= 0;
$count2= 0;
while ($count1 <= 50 ){
$xx= @kazu[$count1];
&trans;
@kazu[$count1] = $xx;
if (@kazu[$count1] ne "") {
$H = 1*@kazu[$count1];
if ($H >= 1) {
$count2++;
$datareg1{$count2}="@shouhinnumber[$count1]*@shouhinmei[$count1]*@bikou[$count1]*@kakaku[$count1]";
$datareg2{$count2}="@kazu[$count1]";
}
}
$count1++;
}

foreach (split(/; /,$ENV{'HTTP_COOKIE'})) {
($key,$value) = split(/=/);
$count1= 1;
while ($count1 <= 20){
$shouhin = "shouhin$count1";
if ($key eq $shouhin) {
$shouhin{$count1}= $value;
@data = split(/::/, $shouhin{$count1});
$data1{$count1} = @data[0];
$data2{$count1} = @data[1];
}
$count1++;
}
}

693 :買物カゴ:02/02/17 14:47 ID:???
スミマセン。行がそろってしまいました。再度

$count1= 0;
$count2= 0;
while ($count1 <= 50 ){
$xx= @kazu[$count1];
&trans;
@kazu[$count1] = $xx;
if (@kazu[$count1] ne "") {
$H = 1*@kazu[$count1];
if ($H >= 1) {
$count2++;
$datareg1{$count2}="@shouhinnumber[$count1]*@shouhinmei[$count1]*@bikou[$count1]*@kakaku[$count1]";
$datareg2{$count2}="@kazu[$count1]";
}
}
$count1++;
}

foreach (split(/; /,$ENV{'HTTP_COOKIE'})) {
($key,$value) = split(/=/);
$count1= 1;
while ($count1 <= 20){
$shouhin = "shouhin$count1";
if ($key eq $shouhin) {
$shouhin{$count1}= $value;
@data = split(/::/, $shouhin{$count1});
$data1{$count1} = @data[0];
$data2{$count1} = @data[1];
}
$count1++;
}
}

694 :買物カゴ:02/02/17 14:48 ID:???
厨でスミマセン。
行頭を下げて、投稿する方法がわかりません。
あきらめました。とほほ。
ご迷惑をおかけしました。


695 :名無しさん@お腹いっぱい。:02/02/17 15:07 ID:???
著作権的に問題ないのか?
市販の書籍のコード晒すの。

696 :名無しさん@お腹いっぱい。:02/02/17 18:57 ID:???
配列要素の参照に@…?まさかッ!Perl6のコードかッ!

697 :名無しさん@お腹いっぱい。:02/02/18 18:17 ID:???
>>696
偶にいるんだよね、こーいうことしちゃう奴。
んでもスライス扱いになるから、意図した動きになるみたいよ。
だから、こーいう書き方したいなら、

($scalar) = @list[1];

とかって書いた方が気持ちよいけど。

698 :名無しさん@お腹いっぱい。:02/02/19 04:59 ID:???
>>692
そのソースだと,これくらいしかわからなかった。
@kazuを処理して, %datareg1と %datareg2に結果を入れてる。
そのあとクッキーを読んで,%data1と %data2に結果を入れてる。

699 :名無しさん@お腹いっぱい。:02/02/19 11:49 ID:h6Vj/zlt
改行を含んだ変数($tegami)があるんですが、
この変数を1行毎に処理したいのですがどうしたらいいのでしょうか?
while とか foeach とかでやろうと思っているのですが分かりません

700 :名無しさん@お腹いっぱい。:02/02/19 11:51 ID:???
>>699
while($data ne "")
{
$data =~ s/(.*?)\n//;
push(@data,$1);
}


701 :名無しさん@お腹いっぱい。:02/02/19 11:52 ID:???
>>700
ごめん。

$data -> $tegamiで。

702 :名無しさん@お腹いっぱい。:02/02/19 12:21 ID:???
>>700-701
速レスありがとうございました!
無限ループさせてしまっていました、、、
助かりました


703 :名無しさん@お腹いっぱい。:02/02/19 12:34 ID:???
>>700
役に立ったかな?

$data =~ s/^(.*?)\n//;

の方がより良いかも。

704 :名無しさん@お腹いっぱい。:02/02/19 12:58 ID:Ls+q3KGP
foreach ($tegami =~ /([^\n]*?\n)/g) {
  chomp;
$_ ...
}
とか

705 :名無しさん@お腹いっぱい。:02/02/19 14:59 ID:dKbpdQEs
A子さん   はじめまして
B子さん   どうも
A子さん   どうも

こんな感じでログファイルに保存してあったとして
B子さんの発言のみをログファイルから読み込んで
表示するにはどのように記載すればよいのでしょうか?

706 :Perl勉強中:02/02/19 15:13 ID:???
open(OUT,"$logfile");
while(<OUT>){
@log=split/\t/;
if ($log[0]=B子さん){
print @log;
last;
}
}

かな?



707 :名無しさん@お腹いっぱい。:02/02/19 15:16 ID:???
>706
それだと、if文のところで、$log[0]がすべてB子さんに書き変わる。

708 :名無しさん@お腹いっぱい。:02/02/19 15:18 ID:???
>706
そして、それだと、B子さんが一回でてくるとそこで終了してしまう。

709 :名無しさん@お腹いっぱい。:02/02/19 15:19 ID:???
>706
さらに、openしたOUTはいつクローズしてもらえるかとうずうずしている。

710 :Perl勉強中:02/02/19 15:21 ID:???
あれ?そうですか?
じゃぁ
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0]=B子さん){
print @hoge;
exit
}
}
でどうですか?

711 :Perl勉強中:02/02/19 15:22 ID:???
B子さんが一つ以上あるなら
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0]=B子さん){
print "@hoge\n";
}
}



712 :名無しさん@お腹いっぱい。:02/02/19 15:24 ID:???
>710
だから、そのif文だと
もし($hoge[0]にB子さんを代入できたら){@hogeを出力して実行終了}
だろ?
@hoge[0]にB子さんを代入することを阻害する要因が何一つこれっぽっちもない以上
一行目の配列で終了だよ。

713 :名無しさん@お腹いっぱい。:02/02/19 15:25 ID:???
>711
いつ気付くんだろ・・・・

714 :Perl勉強中:02/02/19 15:26 ID:???
B子さんが一つ以上あるなら
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0] eq B子さん){
print "@hoge\n";
}
}

こうか?


715 :名無しさん@お腹いっぱい。:02/02/19 15:26 ID:???
>714
そうだ

716 :名無しさん@お腹いっぱい。:02/02/19 15:27 ID:???
「closeしろ」の意味を取り違えてる、とか
B子さんをクォートしなくても良いンか、とか。


717 :Perl勉強中:02/02/19 15:28 ID:???
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0] == "B子さん"){
print "@hoge\n";
}
}
これでも良し?


718 :名無しさん@お腹いっぱい。:02/02/19 15:32 ID:???
んで、俺ならこうする。

open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file) {
@hoge = split(/\t/,$_);
if ($hoge[0] =~ /B子さん/) { print $_; }
}

719 :名無しさん@お腹いっぱい。:02/02/19 15:33 ID:???
>>717
文字にはeqじゃないの? ==でどうなるかわからんけど。
foreach内単に

print if (/^B子さん/);

ではダメなのだろうか?

OUTって名前が気持ち悪いのは俺だけ?


720 :名無しさん@お腹いっぱい。:02/02/19 15:33 ID:???
>717
それだとどうかしらん。

721 :名無しさん@お腹いっぱい。:02/02/19 15:35 ID:???
>719 
ぜんぜんおっけーっしょ?

722 :名無しさん@お腹いっぱい。:02/02/19 15:43 ID:???
そういやなんでOUTなんだ?普通INとかそれ系だろ。

723 :名無しさん@お腹いっぱい。:02/02/19 15:44 ID:???
open IN, "<$logfile" or die;
while(<IN>){
print if /^B子さん\t/;
}
close IN;

724 :705:02/02/19 15:51 ID:???
>>706-723
こんない沢山のレスありがとうございました。
参考にさせて頂きます。

725 :705:02/02/19 15:51 ID:???
こんない×
こんなに○
すいません間違えました。

726 :705:02/02/19 16:01 ID:???
度々すみません。
追加の質問で
B子さんの名前の場所と
コメントの場所を調整するにはどうすればいいのでしょうか?

B子
どうも

こんな感じです。

727 :Perl勉強中:02/02/19 16:23 ID:???
懲りずに挑戦
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0] eq "B子さん"){
print "$hoge[0]<br>$hoge[1]<br>";
}
}
又は
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0] eq "B子さん"){
@hoge=~s/\t/<br>/g;
print "@hoge<br>";
}
}

でどうでしょ?

728 :名無しさん@お腹いっぱい。:02/02/19 16:45 ID:???
>>727
脳内で完結しないで試してから書き込むように。
#!perl
open IN, "<$logfile" or die;
while(<IN>){
if(/^B子さん\t/){
s/\t/<br>\n/;
print;
}
}
close IN;


729 :名無しさん@お腹いっぱい。:02/02/19 17:05 ID:???
>>728
s/^(B子さん)\t/\1<br>\n/;


730 :名無しさん@お腹いっぱい。:02/02/19 17:08 ID:???
s/B子さん/B子タンハァハァ(;´Д`)/eg;

731 :名無しさん@お腹いっぱい。:02/02/19 17:58 ID:???
>>730 コンパイルエラーやんけ

732 :名無しさん@お腹いっぱい。:02/02/19 17:59 ID:???
>>729
その場合は\1じゃなく$1奨励な。

733 :名無しさん@お腹いっぱい。:02/02/19 18:04 ID:???
>>732
あ、ほんとだ。
外で\でも通っちゃうのか

734 :名無しさん@お腹いっぱい。:02/02/19 20:42 ID:AWkZQcnE
もしよろしければ教えてください。

文字列を保存ファイルから読み出して、1文字ずつに区切りたいのです。split(//,$aiueo);
半角文字(1とかa)は成功するのですが、全角文字(1とかA)が保存されているとその部分だけ文字化けしてしまいます。
どのようにすればうまくいくのでしょうか??。


735 :名無しさん@お腹いっぱい。:02/02/19 21:15 ID:???
>>734
だって全角文字って2〜3バイトだし(EUC,SJIS)。
JPerl使うって言ったら怒られるだろうなぁ・・・。

736 :名無しさん@お腹いっぱい。:02/02/20 00:42 ID:???
なんかマルチバイト関数とかってなかった?

737 :名無しさん@お腹いっぱい。:02/02/20 01:11 ID:WIqY+mg7
>>734
Perlメモにそのままのがあったよ。
www.din.or.jp/~ohzaki/perl.htm#JP_Split

それともUTF-8使ってみるとか。

#utf8プラグマを使ってみるてすと。
#このソースの文字コードをUTF-8にすること。
use strict;
use 5.6.0;
use utf8;
use Data::Dumper;

my $str = "あいうえおabcde";
my @strs = split "" , $str;

print Dumper @strs;

結果
$VAR1 = 'あ';
$VAR2 = 'い';
$VAR3 = 'う';
$VAR4 = 'え';
$VAR5 = 'お';
$VAR6 = 'a';
$VAR7 = 'b';
$VAR8 = 'c';
$VAR9 = 'd';
$VAR10 = 'e';

とりあえずは成功。でもほかのファイルから文字列を取り出して処理する場合はどうなるか・・・。

738 :名無しさん@お腹いっぱい。:02/02/20 02:34 ID:???
> 734
環境は? 文字コードは? それがないことには答えようがないYO!


739 :名無しさん@お腹いっぱい。:02/02/20 02:44 ID:???
質問すみません。

投票ボタンを押すとカウントが1増えると言う感じの
CGIを作るにはどう記載をするにはどうすればよいのでしょうか?

1番簡単な記載の仕方を教えていただきたいです。

740 :名無しさん@お腹いっぱい。:02/02/20 07:59 ID:???
>>739
#! /usr/local/bin/perl

open(DATA,"dat");
$count = <DATA>;
close(DATA);

open(DATA,">dat");
print DATA $count++;
close(DATA);

print "CONTENT-TYPE:text/plain\r\n\r\n$count";


741 :名無しさん@お腹いっぱい。:02/02/20 10:26 ID:v5xIpXef
>>738
Perl5です。
jcode.plを使って、EUCに統一しています。

ご迷惑をおかけしてすみません。(初心者)

742 :739:02/02/20 13:25 ID:BU/Y+TfU
>>740
740様ご教授ありがとうございます。

宜しければ

フォームの中身が
name=普通
name=簡単

ログファイルの中身が
普通 1
簡単 2

のような形になるような記載の仕方を教えてください。

743 :739:02/02/20 13:28 ID:BU/Y+TfU
度々すみません。

ついでに投票率もわかるようにして頂けると
助かります。

744 :名無しさん@お腹いっぱい。:02/02/20 15:06 ID:???
>743
投票率ってなんだよ。対象分母がわからないのに、なんでそんなもんがわかるんだよ。
と、おきまりの煽り文句入れて於いて。
得票率は、全体の件数と選択項目あたりの票とのかねあいだから、
表示ルーチンで逐次計算する必要があるね。
データを集計するルーチンで逐次カウントするか、集計時にあらかじめ、分子と分母
作っておくか選択するわけだね。

745 :名無しさん@お腹いっぱい。:02/02/20 15:10 ID:???
>742
その質問は、Web制作板ずら。

最初から、
<input type=radio name=name value=1>普通<BR>
<input type=radio name=name value=2>簡単<BR>
にしたら?

746 :こっちへ逝ってよし:02/02/20 15:12 ID:q+lY2EG2
http://px.a8.net/svt/ejp?a8mat=BZGKH+96FLIQ+1I6+5Z6WX
↑と↓どっちのサイトがいい??
http://px.a8.net/svt/ejp?a8mat=C17UJ+8D9CVM+A0+1NJRXD

747 :名無しさん@お腹いっぱい。:02/02/20 15:18 ID:???
>746
ブラクラ

748 :739:02/02/20 15:29 ID:+agHEvTM
744様,745様
ほんとに単発質問申し訳ございません。
書き込んだ後に気がつきまして対処ができなくどうしようか困っていました。

#! /usr/local/bin/perl

open(DATA,"dat");
$count

749 :739:02/02/20 15:31 ID:+agHEvTM
......
のやり方をコピペでためしたらDL状況になってしまいました。
どうすれば動作が可能になるのでしょうか。。。

750 :名無しさん@お腹いっぱい。:02/02/20 15:35 ID:???
>749
シェルから、which perlとして、Perlの在処を調べる。
また、cgiが実行可能かどうかも調べる。
さらに、httpd.confで、perlをexecにしなければいけないかどうかも考える。

大変だね。

751 :739:02/02/20 15:42 ID:+agHEvTM
750様
レスありがとうございます。
フォームにしてみたらできました。

しかし、カウントされません。



752 :名無しさん@お腹いっぱい。:02/02/20 16:22 ID:???
ここ見てるかぎりじゃ何もせず他人にコード書かせてるようにしか見えないのだが。

753 :名無しさん@お腹いっぱい。:02/02/20 16:30 ID:???
>752
ソレダ!(◕ฺ∀◕ฺ)

754 :739:02/02/20 16:53 ID:???
ほか行きます。

755 :名無しさん@お腹いっぱい。:02/02/20 21:36 ID:mSabJ9Dm
すんません、このアクセス解析なんですが、
ttp://www.din.or.jp/~himura/at-works/access/access.html

@niftyで動かしてる人います?replist.cgi?checkでは全部OKと表示される
んですが、パスワード打って解析結果表示させようとすると500エラーが・・。
main.htmlをmain.plにしたり、homepageディレクトリに置いてみたりと

色々やってみましたが、何度やっても「500 内部サーバーエラー」っス(;´Д`)
パーミッションや転送モードを何度も確認してみましたがダメでした・・。
ちなみにkentさんの「Access Repport」はちゃんと動くので、この改造版の
main.htmlが原因なんでしょうか?サポート掲示板閉鎖してるしもうお手上げッス・・
どなたかご教授ください・・。

756 :名無しさん@お腹いっぱい。:02/02/20 21:41 ID:???
>755
それはきっとあなたの設定ミス。
そうでなければ、バグがあるスクリプトを配布している。

757 :名無しさん@お腹いっぱい。:02/02/20 22:17 ID:ekU1U/e9
携帯用サイトの掲示板を作ってるんですが、
漢字コードは何がいいんですか?
携帯会社によって違うんですか?

758 :名無しさん@お腹いっぱい。:02/02/20 22:17 ID:???
>>757
SJIS。

759 :名無しさん@お腹いっぱい。:02/02/20 22:19 ID:ekU1U/e9
ありがとうございます。常識ですか?
解説サイトご存知でしたら、よろしければお教えください。

760 :名無しさん@お腹いっぱい。:02/02/20 22:20 ID:???
>>759
検索。


761 :755:02/02/20 22:25 ID:m8g7w+mg
>>756
ありがとうございます。マジすか・・もう一度確認してみます。
サーバー別の解説みたいなのに@niftyもあるんですが・・niftyじゃ
無理なのかなぁ・・

762 :名無しさん@お腹いっぱい。:02/02/20 23:21 ID:ekU1U/e9
>760
掲示板できました。ありがとうございます。

763 :名無しさん@お腹いっぱい。:02/02/21 01:09 ID:+5zgc0Mz
素朴な疑問なんですが、転送URL(www2.to)を使っていて
さらにアクセス解析をつけてます
普段リファラで引っかかるアドレスは、当然転送URLのアドレスなのですが
たまにリンク元のアドレス(もちろん転送で貼ってもらってる)が引っかかる場合があるのです
もし原因が分かる方がいらっしゃいましたら、
教えていただけないでしょうか…
よろしくお願いします。

764 :763:02/02/21 01:11 ID:+5zgc0Mz
あ、ちなみにアクセス解析はレンタルの物とat worksさんのもの
それからTacky's Roomさんの物で同じ結果が出ましたです

765 :名無しさん@お腹いっぱい。:02/02/21 01:13 ID:???
>>763
IEはたまにrefferを取りこぼしたりすることがある。

766 :763:02/02/21 01:30 ID:+5zgc0Mz
>765
さっそくありがとうございます。
でも今見てきたところ、そういう風に引っかかってるのが
Netscape 4.〜の方のようなのです
6の場合は普通に転送アドレスで来るようなのですが…

767 :あぼーん:02/02/21 01:34 ID:F4KoQdcT
ホームページでフォームに入力した内容をメールで送るってやつレンタルで使ってるんですけど、たまにいたずらメールが来るんです。
送信元IPはわかるんですけど、送信元のメールアドレスもわかるっていうCGIを無料でレンタルさしてくれるサイトがありましたら教えてもらえませんでしょうか。

768 :名無しさん@お腹いっぱい。:02/02/21 01:47 ID:???
>>767
冷静に考えろ?
お前のメールフォームにはメールアドレス書く欄があるか?
書いてもいないものをどうやって送信するって言うんだい?


769 :あぼーん:02/02/21 01:51 ID:F4KoQdcT
>>768あります。でも嘘かかれたらそれでおしまいなのれす。かかないでわかる方法ないでしょうか?
たとえばメールソフトを間接的に使用するっていうCGIとか

770 :名無しさん@お腹いっぱい。:02/02/21 01:53 ID:???
レンタル探してるなら板違い

771 :名無しさん@お腹いっぱい。:02/02/21 02:01 ID:???
>>769
サーバーサイドで動いてるのにクライアントのメールソフトを制御できるの?
セキュリティホールってやつじゃあ。。。

772 :名無しさん@お腹いっぱい。:02/02/21 02:03 ID:???
>>768
メーラーを使う?それなら簡単。

<form action="mailto:cgiChu@uzaishi.ne.jp">

</form>

773 :名無しさん@お腹いっぱい。:02/02/21 02:57 ID:caqYgqkm
>>771
すくなくともサーバ側でクライアントの環境をいじりたいとか
思う人って他人のプライバシとか全然関係なしって感じが伝わっ
てくるよ。
そこまでe-mailを確認したいのなら、パスワードで入れないように
して、希望者にメールでパスワードをいれるように全体を変更したら
どうよ。


774 :ていうか ◆16H8/cmo :02/02/21 04:57 ID:IB+Fv5b6
複数ファイルと文字列を同時にアップロードするcgi作りたいんだけど、データをどう切り分けるか悩んでる。
一行ごとにやるのはだるいから、なんか上手い方法ないかな。

教えて〜!!

775 :ていうか ◆16H8/cmo :02/02/21 04:57 ID:IB+Fv5b6
↑あ、CGI.pmとかは使う気ないからよろしく。

776 :名無しさん@お腹いっぱい。:02/02/21 04:59 ID:???
↑あ、教える気ないからよろしく

777 :名無しさん@お腹いっぱい。:02/02/21 05:00 ID:???
777げっちゅー

778 :ていうか ◆16H8/cmo :02/02/21 05:03 ID:IB+Fv5b6
↑意味ねーぢゃん。うせろ!


でもナイス突っ込み(w

779 :名無しさん@お腹いっぱい。:02/02/21 06:11 ID:520+fotT
http://www.kankyo.metro.tokyo.jp/cgi-bin/tokyokh/bunpu1/p101.cgi
↑こういうのを作りたいのですが。
データベースの数字と画像の矢印がリンクしていて,「次の時間へ」を押すと、画面が切り替わる。
どんなプログラム言語やソフトを使えば、できますか?

780 :名無しさん@お腹いっぱい。:02/02/21 09:00 ID:???
>>774
よく考えて好きなセパレータ使え。


781 :名無しさん@お腹いっぱい。:02/02/21 09:01 ID:???
>>779
まずはHTMLの勉強だ。クリッカブルマップ。サーバサイドとクライアントサイドがあるからどちらもな。

782 :名無しさん@お腹いっぱい。:02/02/21 09:05 ID:???
>>779
自分でサーバー用意するならなんでもいいけど、
数あるサーバーで動くのはperlだろうな。

ActivePerlと、WinならAnHttpd、あるいは適当なhttpd、
あと、とほほのperl入門を読め。


783 :名無しさん@お腹いっぱい。:02/02/21 09:15 ID:???
>>782
誤爆ですか?

784 :名無しさん@お腹いっぱい。:02/02/21 14:01 ID:???
>780
デリミタ?

785 :名無しさん@お腹いっぱい。:02/02/21 22:00 ID:???
掲示板のスクリプトです。

ローカルのanHTTPdでは、IEでもNNでも正常に動くのですが、
トクトクサーバーにアップすると、NNでは「モジュール違反です」という
表示がでて、オチてしまいます。

IEでは正常です。

どんな原因が考えられますでしょうか。
IEでは全然平気なのですが。

ローカルで動かしてるかぎりはそうはならないのですが。

786 :785:02/02/21 22:01 ID:???
あげさせてください。

787 :名無しさん@お腹いっぱい。:02/02/21 22:02 ID:???
>>785
広告込みのHTMLが変過ぎる。とか。

788 :785:02/02/21 22:11 ID:P/vFkV3P
>>787
Perlのせいではなかったです。
言われてぴぴんときてjavascript Offにしてみたら動いた…。

ローカルでは動くんだから広告が悪いのかなぁ。

どうもすいませんでした。Javascriptと判ればスレ違いです。
ありがとう。

789 :名無しさん@お腹いっぱい。:02/02/21 23:22 ID:uKcyJ5aS
とあるゲームCGIの説明(?)か何かに、
ログファイルをバイナリデータにしたので処理が速くなった
というような事を書いてあったんですが、
実際にテキストよりもバイナリの方が処理が速いんでしょうか。

790 :名無しさん@お腹いっぱい。:02/02/21 23:27 ID:???
>>789
たとえば3という値を保存するとする。

テキストで3を保存すると6bitかかる。
バイナリで3を保存すると2bitですむ。
(これを言うとintは32bitじゃあとかお叱りを受けそうだけど)

後、コンピュータはバイナリでしか数値計算ができないので、数字のテキスト->バイナリ変換作業が必要になる(Perlは裏でやってくれる)。

791 :名無しさん@お腹いっぱい。:02/02/21 23:43 ID:???
ttp://www.din.or.jp/~himura/at-works/access/access.htmlとか
ttp://dream.lib.net/room/cgi/e_analize.html

この二つはJavaScript有効になってないと解析してくれないんですか?
JavaScriptオフでもログ取ってくれるやつってないんでしょうか?
ちなみにSSIは使えないサーバなんですが・・無理ですか?
kentさんのやつはオフでもリンク元以外は取ってくれるみたいだけど・・
上の二つもそうですか?

Strictなんで<noscript><img〜ともできないっス・・。

792 :名無しさん@お腹いっぱい。:02/02/21 23:47 ID:???
>>791
ログは取れる。reffererが取れないだけ。
Javascriptで生成している部分をHTMLに直接書けばいい。
その代わりreddererはあきらめる。

793 :名無しさん@お腹いっぱい。:02/02/21 23:52 ID:???
>789-790
そういうこととは別に、ログをバイナリハッシュに変えれば、テキストのログよりも
かなり高速化する。
dbm使うっていうのが近似値だけど。

794 :名無しさん@お腹いっぱい。:02/02/22 00:00 ID:???
>>793
質問者でも回答者でもないんだけど、
ログをバイナリハッシュに変えるってどういうこと?
ハッシュのキーをバイナリにして短くするってことなの?
でもハッシュっていうぐらいだから長いキーでも短くなってんだよね、内部的には。

おもしろそうなのでもっと教えて。


795 :名無しさん@お腹いっぱい。:02/02/22 00:00 ID:???
>>794
>でもハッシュっていうぐらいだから長いキーでも短くなってんだよね、内部的には。
長くなるならまだわかるが。

796 :名無しさん@お腹いっぱい。:02/02/22 00:08 ID:???
>794
最も簡単に説明するとしたら、テキストのログっていうのは、改行ごとに区切られて
@LINEな配列にシリアルに読み込まれ、並んでいるわけ。
対して、バイナリハッシュは、保存されたデータ構造が%HUSHな状態(連想配列)
にあるので、tieまたはdbmopenで開いたときに、すでに%HUSHな状態として存在できる。
それはちょうど、アナログレコードとCDのような違い。
@LINEから任意な部分を取り出すために必要な労力と、
%HUSHの任意な部分にアクセスするのには、明らかな速度差があるってわけ。
データ件数や扱うデータの質によって様々だけど、使い分ければ速度的に差が出てくるね。

797 :794:02/02/22 00:09 ID:???
>>795
うそおん。
ハッシュって長い文字列(ハッシュ配列のキー)とかを不可逆的に圧縮して、それをキーにするにゃないの?
チェックサムみたいなCRCみたいな。(違うけど)。


798 :791:02/02/22 00:12 ID:???
>>792
レスありがとうございます。いや実は、上にも書いた
ttp://dream.lib.net/room/cgi/e_analize.html これ設置
してみたんですが、JavaScript有効にしていないとログ取らないん
ですよね・・カウンター機能使ってないからなのかな・・

b1=new Date();
a1=window.screen.height;
a2=window.screen.width;
a3=window.screen.colorDepth;
a4=window.document.referrer;
a5=b1.getTimezoneOffset();
document.write("<img src='./hana.cgi?wh="+a1+"&tz="+a5+"&ww="+a2+"&cd="+a3+"&ref="+a4+"'>");

これなんですが、スクリプトのカウンター機能使わないとログ取れない
とかなんでしょうか?それは関係ないですか?

799 :794:02/02/22 00:14 ID:???
>>796
インデックスをつくっとく、って感じでいいんだよね・・・?
掲示板のログだとしたら、書き込み番号がキーになるのかな?

800 :名無しさん@お腹いっぱい。:02/02/22 00:32 ID:???
>797
一般に、gdbmにしろndbmにしろ、tieで作ったデータは大きくなるよ。
圧縮されてもいません。
直接そのファイルを覗いてみるといいです。

801 :名無しさん@お腹いっぱい。:02/02/22 00:33 ID:???
>799
その辺はCGI設計者の好みと用途でいいと思いますよ。

802 :791=798:02/02/22 02:29 ID:???
やっぱダメっス・・JavaScriptオンにしないとログ取って
くれません。外部ファイルにしてるからですか?
ttp://www.din.or.jp/~himura/at-works/access/readme/index.html
こっちのでも同じでしたヽ(;´Д`)ノ

803 :名無しさん@お腹いっぱい。:02/02/22 18:30 ID:kB5a0aUW
PATH_INFOを参照するCGIをperlで作ったんですけど、
interQのCGIサーバーに設置してみたら動かないって報告を受けました。
ファイルが見つからないってエラーです。

調べてみたら、ユーザが設置したCGIを呼び出すための上位CGIが存在していて
こいつがPATH_INFOに当たる部分をファイル名だと決め付けているようなんです。


こういうことをしているところはよくあるんでしょうか?
対策はありますか?

他のCGIサーバーを使うか、
PATH_INFOを使わないように修正するくらいしかない気がするんですけど。

804 :名無しさん@お腹いっぱい。:02/02/22 18:56 ID:s47PnZwK
今までUNIXでPerlを使っていて問題なかったのですが、NTサーバ(Jperl)ににしてからファイルオープンができなくなりました。
(具体的にはファイルが開けない。それ以外は普通に動く)
改行コードもwindowsにあわせました。
何か考えられる問題はないでしょうか?

805 :名無しさん@お腹いっぱい。:02/02/22 19:18 ID:???
>803
オーバーライドするCGIはよくあるよね。
CGIに限らず、SuEXECでも、そういうことは出来そうな感じがするな。
CGIで自由度が高いことがやりたいんだったら、やっぱりそれなりのサーバを使うしかないと思うよ。
管理人のスキルと度量でだいぶ違うから。

806 :名無しさん@お腹いっぱい。:02/02/22 19:19 ID:???
>804
いっぱいありすぎる。
ActivePerl+jcode.plじゃだめなの?

807 :名無しさん@お腹いっぱい。:02/02/22 20:18 ID:FVueZxe+
>806
レンタルサーバの為、環境は選べないです。
サーバ側の問題もありえるとは思えますけど。。

808 :803:02/02/22 21:03 ID:???
>>805

そういうサーバーが沢山あるようなら修正しなきゃいけないかなー、とか思ってたんですけど
とりあえず今のまましばらく様子見してみます。

809 :名無しさん@お腹いっぱい。:02/02/22 23:49 ID:AR6ek7gH
データファイルをサーバー上に置いておき、クライアントから
ブラウザで抽出条件を指定して、結果をテキストファイルとして
ダウンロードするようなCGIをperlで作りたいのですが可能ですか?
画面に出力するのは当然のように可能なので、できそうに
思っていろいろ調べてるのですが、ヒントにめぐり合えません。
Content-typeをどうにかしたらいいような気もするのですが・・・
何かヒントでも教えてもらえれば助かります。

810 :名無しさん@お腹いっぱい。:02/02/22 23:51 ID:???
>809
多分できない。
スクリプトの中で、一度gzなんかに圧縮して送るといいと思う。

811 : ◆wfMSpsRY :02/02/23 00:53 ID:???
>>810 ↓な感じ?
print qq|Content-type: application/x-download\n|;
print qq|Content-disposition: filename="hoge.txt"\n\n|;
# 以下Text表示

812 : ◆wfMSpsRY :02/02/23 00:53 ID:???
間違えた>>809だ(鬱

813 :809:02/02/23 01:40 ID:ndSWjFLu
>>811
ありがとうございます!!
さらにContent-dispositionでgoogleしたら、もう少し
ヒントが見つかりました!!
まだ、コード書いてませんができそうです。
本当にありがとうございました。


814 :名無しさん@お腹いっぱい。:02/02/23 06:59 ID:???
質問させてください。
掲示板などのログファイルに保存されている
ある一定の文字数をCGIに調べさせて表示するにはどうしたらよいのでしょう?




815 :名無しさん@お腹いっぱい。:02/02/23 07:19 ID:???
>814
ファイルに保存されている文字数を調べて表示させればいいと思うよ。
どこがわからないの?

816 :名無しさん@お腹いっぱい。:02/02/23 07:54 ID:???
ソースの記載がわかりません。
説明不足ですみせんでした。

817 :名無しさん@お腹いっぱい。:02/02/23 08:54 ID:???
>814=816
全部ASCIIならファイルサイズ調べるだけ。
一気読みしてるからメモリ効率悪いけど,日本語まじりならこんな感じかな。
require 'jcode.pl';
open LOG, $logfile;
$/='';
$ascii = '[\x00-\x7f]';
$twoBytes = '[\x8E\xA1-\xFE][\xA1-\xFE]';
$threeBytes = '\x8F[\xA1-\xFE][\xA1-\xFE]';
$data = jcode::euc(<LOG>);
$chars++ while($data =~ /$ascii|$twoBytes|$threeBytes/og);
close LOG;
print "Content-type: text/html\n\n";
print $chars;

参考
http://www.din.or.jp/~ohzaki/perl.htm#JP_Split
http://www.mikeneko.ne.jp/~lab/kcode/jcode.html
http://tohoho.wakusei.ne.jp/wwwperl1.htm#Tokushu
プログラミングPerl改訂版 P79,149

818 :名無しさん@お腹いっぱい。:02/02/23 22:01 ID:???
えーと、試したのですがうまくいきませんでした。
ファイルはtext形式です。
すごく単純なやり方はないのでしょうか?

819 :名無しさん@お腹いっぱい。:02/02/24 21:02 ID:dCUXJG5x
age

820 :ここもいいよ!:02/02/24 21:19 ID:f/OTQkHz
http://www.atnavi.mlcgi.com/data/gif.cgi?id=askb&jl=13

821 :名無しさん@お腹いっぱい。:02/02/25 03:39 ID:orEft5aT
2ch型掲示板なんですが、メッセージ書き込み時

ああああああああああ(エンター)
あああああああああああああああああ

というように改行を入れると、書き込み確認画面で何故か

ああああああああああ
あああああああああああああああああ あああああああああああああああああ">

になってしまって書き込もうとしても、「本文がありましぇん」と
・・・これはどうしたら直りますか?

822 :821:02/02/25 03:41 ID:orEft5aT
↑切れてもうた。
>になってしまって書き込もうとしても、「本文がありましぇん」と
>言われてしまいます。

823 :名無しさん@お腹いっぱい。:02/02/25 03:49 ID:???
>821
スクリプト変えれ。

824 :ぷうすけ:02/02/25 10:34 ID:sZy5WoHh
CGIで、WEB上でできるクイズを作っています。答えのデータは、クイズのプロ
グラム本体とは別になっています。本体はquiz.cgi、データはxxxxx.cgiとい
う感じにしています。答えを不正に読まれない対策として、データファイル
を.cgiにして、.cgi/へのアクセスも禁止しているのですが、まだ心配です。
パーミッションは現在、本体が755、データの方が644となっています。
このクイズの場合のように、あるファイルの内容を読まれないためには、一般
にどんなことをしておけばよいでしょうか?よろしくお願いします。

825 :名無しさん@お腹いっぱい。:02/02/25 10:54 ID:???
>824
データを暗号化する。

826 :名無しさん@お腹いっぱい。:02/02/25 10:55 ID:???
>824
あとは、パーミッションを600に設定する。それで動かないようなら動くようにしてもらう。
プロバイダに。

827 :ぷうすけ:02/02/25 11:21 ID:sZy5WoHh
ありがとうございます。データファイルは、拡張子.cgiということで、
基本的にはOKなのですね!?

828 :821:02/02/25 11:40 ID:XPxruXjP
>>823
ありがとう。ちなみに17氏のやつっス。
スクリプトはいじってないんですが、何故かこの現象が・・

正常な書き込み確認の画面のソースはこうなんですが
名前:hhh
<INPUT TYPE=hidden NAME=FROM SIZE=19 value="hhh">
E-mail<font size="1">(省略可)</font>:
<INPUT TYPE=hidden NAME=mail SIZE=19 value=""><br>
内容:<ul>ああああああああああ <br> あああああああああああああああああ
<input type=hidden name=MESSAGE value="ああああああああああ
あああああああああああああああああ "></ul>



829 :821@>>828の続き:02/02/25 11:44 ID:XPxruXjP
何故かうちのやつは

名前:hhh
<INPUT TYPE=hidden NAME=FROM SIZE=19 value="hhh">
E-mail<font size="1">(省略可)</font>:
<INPUT TYPE=hidden NAME=mail SIZE=19 value=""><br>
内容:<ul>ああああああああああ <br> あああああああああああああああああ
あああああああああああああああああ "></ul>

・・となって、<input type=hidden name=MESSAGE〜が表示されてないっス・・閉じタグだけ。
どなたかお助けください。

830 :名無しさん@お腹いっぱい。:02/02/25 13:27 ID:rzdUuZQh
この場所に相応しい内容か分かりませんが、質問します。
あるホームページから、フォームアクションでCGIを起動し、
その結果を、別の新しい窓に表示するようにするには、
何をどうすれば良いですか。

831 :名無しさん@お腹いっぱい。:02/02/25 13:34 ID:???
<form method=post action=nanntara.cgi target=_blank>

で逝けなかったっけ?

832 :名無しさん@お腹いっぱい。:02/02/25 14:35 ID:UOHqJPQ/
>831
ご指導、ありがとうございました。
target=_blankを加えてやってみます。

833 :なんか教えて:02/02/25 15:10 ID:QYTcZNO9
ホームページの中に投票ランキングつくりたいんだけど
どうすればいいの?

834 :名無しさん@お腹いっぱい。:02/02/25 15:55 ID:???
>833
メールで投票してもらって自分で開票しランキングHTMLを組む。

835 :名無しさん@お腹いっぱい。:02/02/25 17:59 ID:yuvH5kLZ
関連サイトをめぐりつつこっちでも質問です・・・。
今画像検索サイトを作ろうと検索エンジンを改造しているところ
なのですが・・・(ちなみに初めてCGI触りました)。

あるHTMLタグの塊を、検索で引っかかった数だけ出力するのが
検索エンジンですよね。
その出力するHTMLをこんな風にします。
print "<form method=\"post\" action=\"file.cgi\"><table>\n;"#ここは検索出力の前。ヘッダ
print "<<EOF;
<tr><td><img src="$path"></td>#$pathというのは、このサーチエンジン
                #に使用しているデータファイルの中身で
                #画像ファイルのパスが入ります
<td><input type="text" size="60" name="com$no"></td>
</tr>
EOF
#<中略>
print "</table>\n</form>\n</body></html>#ここはフッタです。検索処理のあと。

検索で引っかかった画像にメッセージをつけて登録するようにしたいので、
検索で出力するHTMLに[input type・・・・」というのを書いています。
そのnameに変数$noをつけて、検索にヒットした数を1から順にふればよいのだ、
と思ったのですが、その$noをどう定義すればよいかその書き方がわからないの
です。
どう書けばよいでしょうか?
$no = ?

836 :名無しさん@お腹いっぱい。:02/02/25 18:01 ID:???
>あるHTMLタグの塊を、検索で引っかかった数だけ出力するのが
検索エンジンですよね。

へぇ。

837 :名無しさん@お腹いっぱい。:02/02/25 18:02 ID:???
print "<<EOF;
   ↑
ヒアドキュメント変じゃないか?



838 :835:02/02/25 18:02 ID:yuvH5kLZ
よ・・・読みにく・・・!!

839 :名無しさん@お腹いっぱい。:02/02/25 18:02 ID:???
まずは落ち着いて冷静になってから説明をやり直せ。

840 :835:02/02/25 18:02 ID:yuvH5kLZ
>837
しまった(汗)
ミスりました

841 :名無しさん@お腹いっぱい。:02/02/25 18:03 ID:???
何がしたいのかわからない。
そもそもHTMLを理解しているのか。

842 :名無しさん@お腹いっぱい。:02/02/25 19:58 ID:hnsr9Lul
先生!たとえば、
if ($hoge eq 'A') { print "Aです"; }
ってあったとしまして、
$hogeが'B'であったときも"Aです"ってprintしたいのですが、
どのように条件に書き加えたらよいのでしょうか。。。?

843 :名無しさん@お腹いっぱい。:02/02/25 20:08 ID:???
>842
第1段階
if ($hoge eq 'A') { print "Aです"; }
if ($hoge eq 'B') { print "Aです"; }

第2段階
if ($hoge eq 'A') { print "Aです"; }
elsif ($hoge eq 'B') { print "Aです"; }

第3段階
if ($hoge eq 'A' || $hode eq 'B') { print "Aです"; }

844 :843:02/02/25 20:08 ID:???
タイプミスすまん。

845 :842:02/02/25 23:02 ID:???
>>843
先生!ありがとうございました。
第2段階でずっとやっていて、肥大化しまくりだったのが
第3段階でダイエットできそうです。


846 :名無しさん@お腹いっぱい。:02/02/25 23:53 ID:5vLgtcLX
投票のスクリプトなんですが、
name=hoge
name=hoge2
のような感じで、
投票ボタンを押すと1ポイント加算されて
サブルーチンでその投票率を割り出して表示するには
どうすればいいのでしょう?

スクリプトに組み込めるようにしたいのですが。

847 :名無しさん@お腹いっぱい。:02/02/25 23:54 ID:???
>>846
投票率?

票/全体の票の合計*100;

848 :名無しさん@お腹いっぱい。:02/02/26 00:05 ID:???
>847
それは得票率。
投票率は、投票者/有権者

849 :名無しさん@お腹いっぱい。:02/02/26 00:09 ID:???
>>848
>846が投票率を聞いていると思うか?


850 :名無しさん@お腹いっぱい。:02/02/26 00:11 ID:???
>>848
勉強になった。

851 :名無しさん@お腹いっぱい。:02/02/26 00:13 ID:???
>848-849
どっちも言ってる事は正しいな。
一番間違えているのは>846か?
もう少しわかりやすい表現をしてほしいな。
漠然としすぎ。

852 :名無しさん@お腹いっぱい。:02/02/26 00:20 ID:???
>851
しかもマルチポスト臭い。
前にもどこかで同じ質問見て、回答した。
同じ間違いをしていた>得票率と投票率

853 :はげ:02/02/26 01:11 ID:ydhHR8oV
北島サブルーチン

854 :Name_Not_Found :02/02/26 02:41 ID:???
怪僧サブルーチン

855 :846:02/02/26 02:51 ID:VU0igEUE
>>851
えーと、846です。質問の仕方が悪くてすみません。
ですが、私が悪いことにしないでください。
あと、マルチポストはしませんよ。あのやり方嫌いですから。。。

いろいろとすみません。
その得票率というのを割り出して表示するにはどうしたらよいのでしょうか?






856 :名無しさん@お腹いっぱい。:02/02/26 02:55 ID:???
>855
>847の計算式に変数を当てはめて、答えをprintする。
それだけだろ。
得票数や全体の票の合計の数え方から教えないといけないのか?

857 :846:02/02/26 02:58 ID:VU0igEUE
できれば。。。
厨房ですみません。嫌わないでください。

858 :名無しさん@お腹いっぱい。:02/02/26 03:05 ID:???
>857
厨房だと自覚してるなら直せ。
わからないなら自分で勉強しろ。
他人のおんぶでだっこか?
俺はお前が嫌いだ。

まず今、自分でなにができて何ができないんだ。
足し算わかるか?
割り算わかるか?
CGIの設置できるスペースは持ってるのか?
HTMLはわかるのか?
無料配布CGIの設置くらいできるのか?
スクリプトの改造の経験はあるのか?
スクリプトを自分で組めるのか?
ファイル操作するスクリプトを自分で組めるのか?

お前の話し方を聞いてると、そのスクリプトをここの住人に書かせたいように見えるな。
もしそのつもりなら、無料配布スクリプトを探した方がいいぞ。
ここの住人はそこまで暇でも親切でもない。
自分でできることを自分でやろうとしない奴には誰も親切にはしてくれない。
自分でできることを探せ、考えろ。

859 :846:02/02/26 03:13 ID:VU0igEUE
>858
お答えします。
自鯖にWinでアパッチ入れて
今、CGIを改造しています。

CGIを設置できるスペースはあります。
改造経験は掲示板にフォントカラーの選択機能を取り付けれるくらいです。

ファイル操作はログファイルの読み込みぐらいならできます。
スクリプトを組むスキルまではまだないです。
せいぜい改造ぐらいです。

860 :ほげ:02/02/26 03:22 ID:ydhHR8oV
自鯖って自分で釣って来た鯖のこと?

861 :名無しさん@お腹いっぱい。:02/02/26 03:24 ID:???
>860
その鯖にstdoutするらしいけど、腐りやすいからなぁ。鯖は。

862 :846:02/02/26 03:24 ID:VU0igEUE
すいません。自宅サーバーです。。。

863 :名無しさん@お腹いっぱい。:02/02/26 03:29 ID:???
>859
ログファイルの読み込みができるなら、そこから得票数と総数をカウントしろ。
変数の作り方がわかるなら、「総数用の変数」「hogeの得票数」「hoge2の得票数」「hoge3の得票数」・・・と変数を作れ。
あとはログを読み出しながら、hogeの得票ならhogeに+1、hoge2の得票ならhoge2に+1としていけば得票数は数えられるだろ?
得票総数は「どの得票であっても総数+1」すればいいだけだ。
その集計が終わったら、>847の式に当てはめて計算しろ。
計算が終わったらそれを表示させろ。

加算除算の仕方は↓を見ろ。
http://tohoho.wakusei.ne.jp/wwwperl1.htm#CalcOperand

他にもわからない事があったらここで調べてみろ。
http://tohoho.wakusei.ne.jp/
一通り見ておいて損はないページだ。

864 :名無しさん@お腹いっぱい。:02/02/26 03:30 ID:???
>自鯖にWinでアパッチ入れて
まずこれが間違ってる。
自鯖にMacでアパッチ入れなきゃ。
自鯖=Unixで、TELNETで入れたのかな?アパッチを。
もう眠くて日本語よくわからないや?

865 :名無しさん@お腹いっぱい。:02/02/26 03:30 ID:???
それと。
自分でよく意味のわからない単語は知ったかぶって使うな。
知ってる人間を混乱させるだけだ。
サーバーとクライアントの違いくらい勉強しろ。

866 :846:02/02/26 03:33 ID:VU0igEUE
ご迷惑をお掛けしました。
しばらく勉強をして来ます。


867 :864:02/02/26 03:34 ID:???
>865
つっこみあんがと。ダウンなので寝るです

868 :846:02/02/26 04:02 ID:VU0igEUE
全体の項目の中の$hoge1の数はどうやって出せばいいのでしょうか?


869 :846:02/02/26 04:03 ID:VU0igEUE
書き忘れました。
$hoge1=バナナ
だとして
バナナの数を求める場合です。



870 :名無しさん@お腹いっぱい。:02/02/26 04:20 ID:Lws/5PwU
項目数が不定の場合はハッシュ(連想配列)に入れればよい。
while (<FILE>) {
chomp ;
$count ++ ;
$hoge{$_}++ ;
}
foreach(keys %hoge ){
print "項目 : $_ 回数 : $hoge{'$_'}\n" ;
}
print "$hoge\n" ;
ファイルオープンクローズは省略してます。

871 :870:02/02/26 04:59 ID:Lws/5PwU
ああ、間違えた。最後のprintは$countだ。。
というか・・846さんの問いとちょっとずれた回答だなあ・・・
忠実に答えるなら、
while(<FILE>){
chomp ;
$count ++ ;
if ( $_ eq 'バナナ' ) { $hoge1++ ;}
if ( $_ eq 'りんご' ) { $hoge2++ ;}
}
print "バナナ $hoge1個 りんご $hoge2個 全部で$count個\n" ;

こんな感じでしょうか。


872 :846:02/02/26 05:24 ID:VU0igEUE
870さん
ありがとうございました(泣
おかげで完成しました。

すごく感謝しています。
ほんとにありがとうございます。

873 :名無しさん@お腹いっぱい。:02/02/26 17:43 ID:vFUBaFo2
教えてください。
あるcgiファイル(Cで作ったバイナリファイル、変更不可)にperlでフィルタを
かけてperlの中からキックしてやる処理を行おうとしています。

open(*i, *o, "aaa.cgi", $param)
で起動かけてるんですが、この渡し方だとgetメソッドでわたるみたいなのです。
どうやらこのcgi、postメソッドで引数を取得しているらしいのですが、postメ
ソッドへの値の渡し方がよくわかりません。受け取り方ならどこにでも乗ってる
んですけど。

知ってる方、教えてください。お願いします。

874 :873:02/02/26 17:44 ID:vFUBaFo2
失礼しました。
open->open2の間違いです。

875 :名無しさん@お腹いっぱい。:02/02/26 22:58 ID:???
何のためにopen2使ってるのかを調べなおせ。

876 :名無しさん@お腹いっぱい。:02/02/26 23:07 ID:G1R05+XZ
掲示板の文字コードをShift_JISからUTF-8に変換したいんですが、

decodeサブルーチン内
→ 現状 : &jcode'convert(*value, "sjis");
→ 変更 : &jcode'convert(*value, "utf8");


headerサブルーチン内
→ 現状 : <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
→ 変更 : <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">

でいいのでしょうか?
ちなみに文字コードの変換はエディタで終わってます。

877 :名無しさん@お腹いっぱい。:02/02/26 23:09 ID:???
>>876
そらそうだ。

878 :名無しさん@お腹いっぱい。:02/02/26 23:28 ID:???
jcode.plはUNICODEをサポートしていない。

879 :名無しさん@お腹いっぱい。:02/02/27 00:02 ID:SOuE237T
>>878
ゲッ、ではどうすればいいんでしょうか?

880 :名無しさん@お腹いっぱい。:02/02/27 00:11 ID:CwyphmC/
>>995
激しく同意

881 :名無しさん@お腹いっぱい。:02/02/27 00:27 ID:???
>>879
Jcode.pmを使う。

use Jcode;
my $utf8 = jcode(\$value)->utf8;

あと、perl4でなければ、jcode.pl使う時にその書き方はヤメレ
jcode::convert(\$value, 'sjis');

882 :名無しさん@お腹いっぱい。:02/02/27 00:31 ID:nZ+PTVkR
Perl勉強するのに、いい本を教えれ。高いのかなぁ・・
やっぱ参考書買ったほうがいいですよね?みなさんどうやって覚えたの?
掲示板とか作ってみたいのですが。

883 :882:02/02/27 01:02 ID:???
スレ見つけました(;´Д`)
すいましぇん・・。

884 :名無しさん@お腹いっぱい。:02/02/27 09:44 ID:jpwD5RBs
$A = 1 / 3
を0.3333333・・・ではなく、桁数を制限して0.33にするのはどうすれば良いのでしょうか?

885 :名無しさん@お腹いっぱい。:02/02/27 09:46 ID:???
>>884
sprintf("%.2f",$A);

886 :884:02/02/27 10:23 ID:jpwD5RBs
>>885
有り難う御座います!


887 :873:02/02/27 11:09 ID:/GyUzfOU
>>875

引数を標準入力へ渡すのは出来てるのです。
teeコマンドで、確認しましたので。

perlモジュールからcgiをキックするとき、メソッドを環境変数に
設定してあげればいいのかなぁ・・・・。


888 :884:02/02/27 13:55 ID:jpwD5RBs
たびたびすいません。
リスト表示させる構文の中で

use integer;
$A = $B / $C;

を記述すると最初の情報しか表示されなくなります・・・
何が問題なのでしょうか?

889 :名無しさん@お腹いっぱい。:02/02/27 13:58 ID:???
>>888


890 :名無しさん@お腹いっぱい。:02/02/27 14:02 ID:???
>>888
use integer;
の意味わかってる?

891 :884:02/02/27 14:20 ID:jpwD5RBs
素人なので・・・
手元のレファレンスブックをパラパラと参照しているのです。
ちなみに、use integer; をとっても最初の情報しか表示されないので、
状況は変わらないです・・・。

892 :名無しさん@お腹いっぱい。:02/02/27 14:35 ID:???
>>891
>最初の情報しか

??

893 :名無しさん@お腹いっぱい。:02/02/27 15:07 ID:uzDDNMO0
少し脳みそを貸して下さい。
返信できる掲示板を改造し、親記事への返信に対してradioboxで5段階の採点
ができるようにしました。が、たまに採点がおかしくなります。

1ページに表示されている全ての返信記事に一気に採点できるようにしました。
$noは親記事のNo. $res_noは返信記事のNo.です。
簡単に書きます。
-------■フォーム部分■---------
[最高:<INPUT TYPE=RADIO NAME=\"($no)-$res_no\" value=5>]
[良い:<INPUT TYPE=RADIO NAME=\"($no)-$res_no\" value=4>]
のようなものをあと3つ
-------■フォーム部分■---------

894 :名無しさん@お腹いっぱい。:02/02/27 15:07 ID:uzDDNMO0
ログの形式:<>で区切ってます。
$x1が親記事の番号で$x2が返信記事の番号です。
行の最後に採点のためのデータを6つ追加しました。
$xjが合計点で、$xe〜$xiまでが各採点の数。

-------■ログの形式■---------
130<>1<>名前<>タイトル<><><>親記事のコメント<>#ff6633<><><>02/02/26(Tue)02:29<>0.XuCN0FGrIKQ<>1014702931<>0<>0<>0<>0<>0<>0<>
(130)<>1<>名前<>タイトル<><><>親記事への返信のコメント<>#ff6633<><><>02/02/26(Tue)02:29<>0.XuCN0FGrIKQ<>1014702931<>0<>0<>0<>0<>0<>0<>
-------■ログの形式■---------

895 :名無しさん@お腹いっぱい。:02/02/27 15:08 ID:uzDDNMO0
-------■受け取り側■---------
ログから全記事を@all_linesに読み込む。
while (($key, $value) = each %in){
if( $key =~ /^%28\d+%29-\d/ ){
$key =~ s/^%28(\d+)%29-(\d+)/$1,$2/ ;
foreach (@all_lines) {
if( /^\($1\)<>$2/ ){
my($x1,$x2,$x3,$x4,$x5,$x6,$x7,$x8,$x9,$xa,$xb,$xc,$xd,$xe,$xf,$xg,$xh,$xi,$xj)=split(/<->/);
if($value == 5){ $xe = $xe+1 ;}
elsif($value == 4){ $xf = $xf + 1;}
elsif($value == 3){ $xg = $xg +1;}
elsif($value == 2){ $xh = $xh +1;}
elsif($value == 1){ $xi = $xi +1;}
else{ エラー処理;}
$xj = ($xe * 5) + ($xf * 4) + ($xg * 3) + ($xh * 2) + ($xi * 1);
push(@new, "$x1<>$x2<>$x3<>$x4<>$x5<>$x6<>$x7<>$x8<>$x9<>$xa<>$xb<>$xc<>$xd<>$xe<>$xf<>$xg<>$xh<>$xi<>$xj<>\n");
}else { push(@new, $_ );}
}
$#all_lines = -1 ; #これは必要?
@all_lines = @new ;
$#new = -1 ;
}
}

@all_linesをファイルに書き込む。
-------■受け取り側■---------

896 :名無しさん@お腹いっぱい。:02/02/27 15:08 ID:uzDDNMO0
受け取り側がすごく間抜けなコーディングですが、
もっとスマートな方法はないものでしょうか?
さらにバグがあるようです。たまに採点した以上に採点の数が増えます。


897 :名無しさん@お腹いっぱい。:02/02/27 15:09 ID:???
スクリプト改造工房 Part4
http://pc.2ch.net/test/read.cgi/php/1012839651/l50

898 :名無しさん@お腹いっぱい。:02/02/27 15:14 ID:uzDDNMO0
>>897
すみません。書き直します。

899 :名無しさん@お腹いっぱい。:02/02/27 16:08 ID:uzDDNMO0
perlでランキングするにはどうすればいいですか?

連続でなく(1,2,3,4,5....)
同点場合は同じ順位になるやつです。(1,2,2,2,5,6,7)


900 :名無しさん@お腹いっぱい。:02/02/27 16:11 ID:???
>>899
同一順位の奴リストで記憶して一気書き。

901 :名無しさん@お腹いっぱい。:02/02/27 17:02 ID:s1a46wqm
先生!以下の文章を短縮する手だてはないものでしょうか。
if ($hoge eq '001_001' || $hode eq '001_002' || $hode eq '001_003'、、、、|| $hode eq '001_050') { print "001グループです。。。"; }

10進法で
$hogeが'001_001'、'001_002'、〜(中略)〜、'001_050'の時に、"001グループです。。。"をprintしたいのですが。。。
テキストエディタの左右のスクロールバーが大変です!(;´Д`)

902 :名無しさん@お腹いっぱい。:02/02/27 17:05 ID:???
if ($hoge =~ /^001_0\d\d$/) { print "001グループです。。。"; }
00や51〜99も入っちゃうけどな。
それを除外する方法は自分で調べて。

903 :名無しさん@お腹いっぱい。:02/02/27 17:25 ID:???
>>901
$hoge =~ /0(\d\d)_0(\d\d)/;
print "グループ1" if ($1 == 0 and $2 >=1 $2 <= 50 );

動作確認してないけど。



904 :名無しさん@お腹いっぱい。:02/02/27 17:29 ID:???
>903
$1 == 1
にしておかないと、グループ0になりますぜ?

905 :901:02/02/27 19:21 ID:???
先生方!レスありがとうございます。
902さんの
if ($hoge =~ /^001_0\d\d$/) { print "001グループです。。。"; }
これで一応問題がないかのように(;´Д`)動作しておりますが、このまま使い続けちゃマズイですか?
もちろん51〜99なんて存在しないです。。。

903さんの文章は今のおいらじゃ理解できないみたいです。。
もうちょっと経験値をためてレヴェルうpしてから、改めて読み直すことにします


906 :名無しさん@お腹いっぱい。:02/02/27 19:56 ID:???
>>901
っつーか、根本的にもっと綺麗にデータ処理をしようと思わないのだろうか。

907 :名無しさん@お腹いっぱい。:02/02/27 20:42 ID:uzDDNMO0
ロックファイルの処理がうまくいっているか試す方法ってあります?
自分で同時に書き込むってできないし。
#ローカルサーバ立ち上げてます。

908 :名無しさん@お腹いっぱい。:02/02/27 20:47 ID:???
>>907
漏れの場合、ロックしたままランダムな時間 sleep() 。
でも、もっとうまい方法があるような気が。

909 :名無しさん@お腹いっぱい。:02/02/27 21:33 ID:???
>>907

1.ロック解除ルーチンをコメントアウトして実行。
ロックがかかっているか確認。

2.そのプログラムをもう一度実行。
六句により書き込めないことを確認。

3.コメントアウトした部分とロックを元に戻し実行。
書き込めればロックは作動している。

サーバ立てるのはいいがOS位書いてほしかった。

910 :名無しさん@お腹いっぱい。:02/02/27 22:02 ID:uzDDNMO0
>>907
ありがとうございます。
サーバはLinuxです。


911 :名無しさん@お腹いっぱい。:02/02/27 22:34 ID:TYQQ82Xg
Perl で、一旦、
Helloを表示して、3秒くらいの処理行ったあとその出力を表示する
のってどうやるんですかね?(ブラウザでアクセス)
前に
print "Content-type:text/html\n\n";
print "hello";
sleep(3);
print "hoge";

でやったらいかなかったので調べてみたらモジュール使うって見たんだけど、
最近やろうと思ってしらべたら前のResultをブックマークし忘れたので
どなたかおしえてくりんぴ

912 :名無しさん@お腹いっぱい。:02/02/27 22:36 ID:???
$xxx = now;

//wait 3 sec
while(now < $xxx + 3);

913 :名無しさん@お腹いっぱい。:02/02/27 22:44 ID:TYQQ82Xg
>912
Really?

914 :名無しさん@お腹いっぱい。:02/02/27 23:15 ID:???
バッファリングしなければいいのでは

915 :あさみ:02/02/27 23:57 ID:mGPuUcmq
大量のファイル(ディレクトリにまとめて入ってる)から
それぞれ同じ行をとりだして、
並べて表示させるにはどうしたらいいですか?

たとえば000.txt から 999.txtっていうのがひとつのディレクトリに
あって、ぜんぶのテキストから55行目だけをとりだしてそれを並べて
表示させたいのですけど。達人さんおねがいします。

916 :名無しさん@お腹いっぱい。:02/02/27 23:59 ID:???
>>915
スタブ

後は、

open(DATA,"a.txt");

@dat = <DATA>;

print $dat[54];

917 :あさみ:02/02/28 00:03 ID:Dy5p0v9j
>>916
スタブって????

それだとひとつのファイルからしかとりだせないじゃないですか。
ぜんぶのファイルを一度に操作しようとおもって
open(DATA,"dir/*.txt");
と打ってみたけどそこから先どうしていいかわからなくなってしまったんです。

918 :名無しさん@お腹いっぱい。:02/02/28 00:07 ID:???
>>917
スタブじゃないグロブだ。それにすべての答えがある。さぁ、検索。

919 :あさみ:02/02/28 00:39 ID:Dy5p0v9j
>>918
だめです。わかんない。
型グロブってまだやってないのだ。。。。


920 :名無しさん@お腹いっぱい。:02/02/28 00:39 ID:???
>>919
型グロブじゃないよ。

921 :あさみ:02/02/28 01:05 ID:Dy5p0v9j
>>920
わかんないよ。。。

@files = glob("*.txt");

foreach $file(@files){
open(DATE,"$file");
@dat = <DATE>;
print $dat [54];
}

これでもエラーでるよ。。。

922 :あさみ:02/02/28 01:28 ID:Dy5p0v9j
わあああああああああ、できたよ!!!!!!!
ありがとしゃんしゃん!!!!>>920
ちなみにこれでできたよ!↓↓↓

@files = glob("*"); #全てのファイル名が返される

foreach $file (@files){
open (IN,"$file");
@dat = <IN>;
print "$dat[76]<br>";
close IN;
}

ふぅううううう。

923 :名無しさん@お腹いっぱい。:02/02/28 11:48 ID:GCMIT34v
自動生成されるアンケートのページ(NAME=は数字だがバラバラ)で、
全てのradioboxがチェックされているかを調べるにはどうしたら
いいでしょうか?


924 :名無しさん@お腹いっぱい。:02/02/28 11:53 ID:???
foreach(数字..数字){
if(!$FORM{"$_"}){print qq(入力漏れあり);}
}

925 :名無しさん@お腹いっぱい。:02/02/28 20:22 ID:PHCtHVWr
>>924
お返事ありがとうございます。なるほどーですねー。

連続してない数字だったので、ちょっと応用します。
ちなみにNameが文字列だった場合は、はやりその文字列を
hiddenか何かで受け渡すしかないんですかねぇ、やっぱ。




926 :名無しさん@お腹いっぱい。:02/02/28 20:32 ID:???
>925
foreach(keys %FORM){
if(!$FORM{"$_"}){print qq(入力漏れあり);}
}

こういう方法もあるにはあるけど、他の入力まで処理するのが難点。
余計なフォームがないならこれでもいける。

hiddenで渡すなら、受け取るName文字列をリスト配列にでもして作っておいた方がいいと思うぞ。
受け取るものが決まってるなら。

927 :名無しさん@お腹いっぱい。:02/02/28 21:24 ID:gAyBZL7c
ちょっと質問させてください。

www.hogehoge.com/foo?id=bar

というように拡張子をつけない CGI などのスクリプトをたまに見かけますが,
これはどういうメリットがあるのでしょうか。
また,このように拡張子をつけないで実行するには
.htaccess でこのファイル名だけ CGI として扱うようにすればいいんでしょうか。

928 :名無しさん@お腹いっぱい。:02/02/28 22:07 ID:PHCtHVWr
>>926
あー、賢いなー。なるほどー。
if(!$FORM("mode") とかかませばOKそうです。
ありがとうございました。


929 :名無しさん@お腹いっぱい。:02/02/28 22:22 ID:???
>>927
メリットはCGIを作った人に聞いてくれ。
とりあえず思いつくのは、リンクを張るときに4バイト稼げるとか、
作った人にとって.cgiって付くURLがかっこ悪いとかかな。
あとは、www.hogehoge.com/foo?id=bar の実体は実は
www.hogehoge.com/foo/index.cgi?id=bar だったとか言うこともあり得るし。

.htaccessについてはまぁ、知らん。
偉い人スレで聞けば?

930 :名無しさん@お腹いっぱい。:02/02/28 22:54 ID:???
実行可能ファイルを拡張子で識別するべきじゃない、とかなんとかあった気がしなくも無い。

931 :名無しさん@お腹いっぱい。:02/02/28 22:57 ID:???
>>930
実行属性という物があるから気にする必要性がない。ってや津田ね。

932 :名無しさん@お腹いっぱい。:02/02/28 22:59 ID:???
「あるディレクトリ以下のファイルは CGI プログラムと見なす」
という設定は、なんとなくカコイイと思ってしまうのですが、
自分でも理由が分かりません。

933 :名無しさん@お腹いっぱい。:02/02/28 23:01 ID:???
>>932
俺は逆にダサイと思います。
人それぞれですね。

934 :名無しさん@お腹いっぱい。:02/03/01 14:08 ID:5OIg3ecR
>>926
foreach(keys %FORM){
if(!$FORM{"$_"}){print qq(入力漏れあり);}
}

これだと、radioboxをクリックしてないと、$keyも$valueも
送られてこないからチェックできないですー。(T.T)
やっぱり、hiddenで配列にぶち込んで、渡すしかない?

935 :ホワイトde−もうすぐ:02/03/01 18:34 ID:???
>>934
$keyも$valueも送られてこない=radio押されていない。

それはそれで一つのステータスではないの?

936 :名無しさん@お腹いっぱい。:02/03/01 20:03 ID:5OIg3ecR
>>935
でも、それをチェックできないでしょ?

937 :名無しさん@お腹いっぱい。:02/03/01 20:10 ID:???
RadioBOXのなまえが解かってるならそれで調べれば?

938 :名無しさん@お腹いっぱい。:02/03/01 20:14 ID:5OIg3ecR
>>937
えっ?どうやって?
radioboxの名前がわかるためには、その名前の入ったデータを次の処理に渡さないと
わからないと思ったんですけど、他のやり方があるのかな?
ちなみに、radioboxの名前はCGIで自動生成されるので、毎回同じじゃないんです。


939 :名無しさん@お腹いっぱい。:02/03/02 00:52 ID:???
>938
hiddenで名前埋め込むとか,HTMLで最初から押しておくとか。

940 :nobodyさん:02/03/02 13:45 ID:LK7b/SU7
>>939
ありがとうございます。
hiddenはいい案ですね。楽で。
HTMLで最初から押すってのはどういう意味で?

941 :nobodyさん:02/03/02 14:24 ID:???
>940
<input type="radio" checked>

942 :nobodyさん:02/03/02 18:18 ID:LK7b/SU7
>>941
そうそう、checkedに今してます。
けど、何も考えないで、submitしちゃう奴とかいそうだなー。とか
思ったりして…

943 :nobodyさん:02/03/02 20:19 ID:???
KENTさんのpetit BBSにひとりキャップ機能をつけようとするとき
どうすればよいのでしょうか?


944 :nobodyさん:02/03/02 20:26 ID:???
>>943
マルチポスト。消えろ。

945 :名無し:02/03/02 21:31 ID:???
あの、あぷろだにアップ時間を表示させることは出来ないのでしょうか?

946 :nobodyさん:02/03/02 21:34 ID:???
>>945
やろうと思えば約1行。


947 :名無し:02/03/02 21:39 ID:???
教えてください
お願いします

948 :nobodyさん:02/03/02 21:41 ID:???
>>947
どうでもいいけどスレッドの無駄遣いするな。

始めから>>945>>947をいっぺんに質問すれば答えまで2レスですんだ。

後、すれ違い。

949 :名無し:02/03/02 21:42 ID:???
ごめんなさい

950 :nobodyさん:02/03/03 09:42 ID:nOwc+Svw
やぁ♪スレもストップしたところで質問だゾ(´д`)ハァハァ
ログファイルに書き込んであるH・Nから
発言数を調べて
発言者ランキングを作るにはどうしたらよいのでしょうか?

調べたけどわからなったから聞きに来たんだ。



951 :nobodyさん:02/03/03 09:49 ID:nOwc+Svw
  ∧_∧
 ( ・∀・) マターリ待ちます
 ( ∪ ∪
 と__)__)

952 :nobodyさん:02/03/03 10:04 ID:PnmTn1AV
発言者ランキングのどんなトコが判らんの?
発言数の取り方?

953 :nobodyさん:02/03/03 10:24 ID:nOwc+Svw
それです(・∀・)!





954 :nobodyさん:02/03/03 10:34 ID:PnmTn1AV
my %count;
open (DAT, $file) or die $@;
while (<DAT>) {
my $name = ....; # HN取り出し(ログ形式が不明なので直してチョ)
$count{$name}++; # $nameの発言数を+1
}
close (<DAT>);
# 回数が多い人から並び替えて出力
foreach (sort{$count{$b} <=> $count{$a}} keys %count) {
print $_, ":", $count{$_};
}

955 :954:02/03/03 10:37 ID:???
修正
close (<DAT>);
  ↓
close (DAT);

956 :nobodyさん:02/03/03 11:11 ID:nOwc+Svw
センキュ!
いた違いだが見に行く(・∀・)!
ttp://cgi.members.interq.or.jp/hokkaido/asato/upload/jam3ddr/OB000288.jpg
ttp://cgi.members.interq.or.jp/hokkaido/asato/upload/jam3ddr/OB000289.jpg
ttp://cgi.members.interq.or.jp/hokkaido/asato/upload/jam3ddr/OB000230.jpg

957 :nobodyさん:02/03/03 11:14 ID:nOwc+Svw
ttp://www.media-0.com/www/korabo/

958 :nobodyさん:02/03/03 11:55 ID:nOwc+Svw
すごく申し訳ないのですが
ログファイルはtxt形式です。
保存されてる形は
no. http://ハァハァ.ne.jp comment name
なんですが、いかがなもんでしょう?

959 :nobodyさん:02/03/03 12:20 ID:???
>>958
話が見えない。。。

960 :nobodyさん:02/03/03 12:32 ID:nOwc+Svw
スマン
質問の仕方がかなりワルかったです。
普通に書いたら表示されなかったので、
(ログ形式が不明なので直してチョ)
と書いて頂けたのでログ形式を教えたら
表示されるようにしえて頂けるかとおもぉたのでです。

教えて(・∀・)!




961 :nobodyさん:02/03/03 12:36 ID:???
>>960
さっきの3倍わからなくなった。

962 :nobodyさん:02/03/03 12:41 ID:???
>>960
何で区切られてるの?

963 :nobodyさん:02/03/03 12:42 ID:673UxTI5
いいか、落ち着いて書くんだ俺。
落ち着いて読むんだ君。

まず、954のやり方でやってみたがうまく表示されなかった。
そこで、俺はログファイルの形式を教えれば詳しく教えてもらえると思ったんだ。

そこで、ログファイルの形式とログファイルへの保存の仕方を君に教えたんだ。
どうだい?うまく通じたかな?

偉そうでスマン

964 :nobodyさん:02/03/03 12:42 ID:???
スペースはかなり危険な気がしないでもない。
本文、名前、メアドに対策してるならいいけど・・・。

ちなみに俺はデコードせずに保存してます。絶対にコンフリクトしないしw。

965 :nobodyさん:02/03/03 12:45 ID:673UxTI5
すみません。スペースではなく\t入れてます。

966 :nobodyさん:02/03/03 12:50 ID:673UxTI5
http://pc.2ch.net/test/read.cgi/php/1015127347/l50
次スレ

967 :nobodyさん:02/04/09 22:04 ID:???
みんな移動してるみたいだから、埋めさせてね。

968 :nobodyさん:02/04/09 22:05 ID:???


969 :nobodyさん:02/04/09 22:05 ID:???


970 :nobodyさん:02/04/09 22:05 ID:???


971 :nobodyさん:02/04/09 22:05 ID:???


972 :nobodyさん:02/04/09 22:05 ID:???


973 :nobodyさん:02/04/09 22:05 ID:???


974 :nobodyさん:02/04/09 22:05 ID:???


975 :nobodyさん:02/04/09 22:05 ID:???


976 :次スレ:02/04/09 22:26 ID:???
CGIだけどなんか質問ある Pert 5.01
http://pc.2ch.net/test/read.cgi/php/1015127347/

977 :read.cgi:02/04/09 23:23 ID:???
1002

978 :カウントダウン屋:02/04/23 19:51 ID:???
22

979 :カウントダウン屋:02/04/23 19:51 ID:???
21

980 :カウントダウン屋:02/04/23 19:51 ID:???
20

981 :カウントダウン屋:02/04/23 19:51 ID:???
19

982 :カウントダウン屋:02/04/23 19:51 ID:???
18

983 :カウントダウン屋:02/04/23 19:51 ID:???
17

984 :カウントダウン屋:02/04/23 19:52 ID:???
16

985 :カウントダウン屋:02/04/23 19:52 ID:???
15

986 :カウントダウン屋:02/04/23 19:52 ID:???
14

987 :カウントダウン屋:02/04/23 19:52 ID:???
13

988 :カウントダウン屋:02/04/23 19:52 ID:???
12

989 :カウントダウン屋:02/04/23 19:53 ID:???
11

990 :カウントダウン屋:02/04/23 19:53 ID:???
10

991 :カウントダウン屋:02/04/23 19:53 ID:???
9

992 :カウントダウン屋:02/04/23 19:53 ID:???
8

993 :カウントダウン屋:02/04/23 19:53 ID:???
7

994 :カウントダウン屋:02/04/23 19:53 ID:???
6

995 :カウントダウン屋:02/04/23 19:53 ID:???
5

996 :カウントダウン屋:02/04/23 19:53 ID:???
4

997 :カウントダウン屋:02/04/23 19:54 ID:???
3

998 :カウントダウン屋:02/04/23 19:58 ID:???
2

999 :カウントダウン屋:02/04/23 19:58 ID:???
1

1000 :カウントダウン屋:02/04/23 19:59 ID:???
1000GET!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

254 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)