前出のカウンタプログラムをCGIプログラムに変更してみましょう。
カウンタプログラム
#!/usr/local/bin/perl # ファイルcountdataをファイルハンドルCOUNTでオープン # オープンできないときにはエラーメッセージを表示して強制終了 open (COUNT, "+<countdata") || die "File 'countdata' Open Error."; # ファイルのロック flock (COUNT,2); # 変数$counterにファイルハンドルCOUNTから1行読み込み $counter = <COUNT>; # カウントアップ $counter = $counter + 1; # ファイルポインタを先頭に戻す seek (COUNT, 0, 0); # ファイルハンドルCOUNTに出力(書き込み) print COUNT $counter; # ファイルのロック解除 flock (COUNT,8); # ファイルのクローズ close (COUNT); # カウンタの値を表示 print $counter;
- 出力をHTMLの記述にすればよいので、最後のprint文を以下のように変更します。
print "Content-type: text/html\n\n"; # HTML出力の際のお約束 print <<"EOM"; # 「ひな型」の「HTMLヘッダー」から抜粋 <html> <head> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> </head> <body> EOM print $counter; # カウンタ出力部分。タグで修飾しても良い。 print "</body>\n</html>\n"; # 終了タグ- ファイル拡張子を「.cgi」にして保存します。「名前を付けて保存」から保存してください。
ローカルテスト
「Perlを始めよう!」の「WWWブラウザに出力」でテストします。
- 「コマンド」→「WWWブラウザに出力」を選択します。
- フォーム入力ウィンドウが表示されるので「OK」ボタンを押します。
WWWブラウザには、「Content-type: text/html」の文字が表示されますが、アップするとこの部分は表示されなくなるので、無視してよいです。
サーバーにアップ
FFFTPを使って適当なフォルダにアップしてください。
サーバーテスト
WWWブラウザでサーバーテストを行います。アップしたファイルのURLアドレスを入力してWWWブラウザで確認してみましょう。
占いプログラムを変更して、ランダムに画像が表示されるWebページを作成せよ。
(ヒント: ランダムでIMGタグを出力するようなプログラムに変更すれば良い)
練習問題の答