TOP
記録室
秘書室
応接室
図書室
美術室
外交室
 
〜図工の時間の寝言〜
『結果的には正しい』
 

※このトピックの内容と『超電子要塞研究所』とは関係ありません。
 自分のホームページが登録されているプロバイダでは、CGIが使える。私はCGI
はおろかHTMLも満足にわかっていないため、試行錯誤しながらページ作りに励んで
いる。
 たとえば今は、掲示板用のCGIを作っているが、そのCGIをサーバーにアップロ
ードする前に動作確認が必須だ。
 私のパソコン環境はWIN98なので、DOSプロンプトで動くJPerlというプ
ログラムで簡易的にCGIの動作確認させているに過ぎない。だがそれでも文法チェッ
クや実行出力が見れるので、かなり役に立っている。
 最初のうちは、CGIの実行結果をDOS窓の画面に出しているだけだった。だが、
出力内容が多くなると画面がスクロールしてしまうため、実行結果を見るのに不十分に
なってきた。

 それならばということで、テキストファイルにリダイレクト出力させてみることにし
た。リダイレクトというのは、プログラムの入出力の方法を指定することである。通常
は標準の出力として画面に出力(表示)されるが、出力先を指定してやれば、画面の代
わりに任意のファイルに出力することができるのだ。ちなみに、JPerlというプロ
グラムに bbs.cgi というスクリプトを実行させ、本来画面表示されるはずの出力を代わ
りに log.txt に出力させるには、こうすれば良い。

C:\>jperl.exe bbs.cgi > log.txt

 UNIXユーザーであれば、リダイレクト出力なんてごく日常的な話なのだろうが、
私はWINDOWSユーザー。まあ普通はやらない。私もまだMS−DOSを使ってい
た6〜7年前は日常的にやっていたが、いまではほとんど全くやらなくなった。
 だが今はこの方法が役にたちそうだ。やってみよう。

C:\CGI-BIN>jperl.exe bbs.cgi > log.txt

 よしよし。ファイルの内容が掲示板表示のHTMLっぽくなっている。(当然だ。ブ
ラウザにHTMLで掲示板のページを表示するためのCGIなんだから。)
 いや、待てよ。ということは、出力を log.txt  ではなくて、bbs.html にすればその
ままHTMLファイルが出来るはずだ。やってみよう。

C:\CGI-BIN>jperl.exe bbs.cgi > bbs.html

 おお、うまくいくではないか。ほとんど完璧だ。でも残念ながら完璧にはならない。
ヘッダ出力 "Content-type: text/html\n\n" がそのままになってしまう。どうにかなら
ないものだろうか。
 考え方を変えてみよう。CGIの出力を、ファイルではなくブラウザにしてみたらど
うなるだろう。実際、インターネットではブラウザに出力されているのだから、うまく
いくかもしれない。
 どうやればできるだろうか。よくわからない。とりあえず試してみよう。ブラウザは、
explorer.exe だから、これでうまくいくかもしれない。やってみよう。

C:\CGI-BIN>jperl.exe bbs.cgi > explorer.exe

 もちろんこれは、explorer.exe に出力された。
 いや、カレントディレクトリに explorer.exe として出力された、というべきか。

散歩  03/Dec/1999

寝言