#!/usr/local/bin/perl # フォームからのデータをファイルに書きこむ(2) # このCGIは、必要なチェック(タグや数字)もないものです # これでは実際に使用することはできませんが基本構文として # 紹介します(特にタグをそのままにしておくとトラブルのもとになります) # id=form2.cgi # update. 2000.2.13 require 'cgi-lib.pl'; &ReadParse; # ファイル名 $file = "/dialup/chichibu/cgi-bin/form1.dat"; # ファイル登録 ・・・ プログラムの流れと人間の動作はまったく同じです # 最初に、台帳を開きます(1ページから開いたり、後ろに書き足したりしますね) # 次に、ペンを使って 書きこみます # 最後に、台帳を閉じます # 1.ファイルを上書きモードでオープン open(DATA,">$file"); # 2.書きこみ ・・・ 改行コード¥nを付けて書き込みます # ここで、タグを無効化します。ファイルを読み出す時に無効化することもできますが # ここではファイル登録時に無効化しています $ckdt=$in{Q1}; &tagck; $in{Q1}=$ckdt; print DATA "$in{Q1}\n"; $ckdt=$in{Q2}; &tagck; $in{Q2}=$ckdt; print DATA "$in{Q2}\n"; $ckdt=$in{Q3}; &tagck; $in{Q3}=$ckdt; print DATA "$in{Q3}\n"; # 3.ファイルを閉じます close(DATA); # 同じ処理を繰り返して利用する場合は、サブルーチンにします # sub サブルーチン名 {  処理 } の形です ############################### # タグの無効化サブルーチン ############################### sub tagck { $ckdt =~ s//>/ig; $ckdt =~ s///ig; $ckdt =~ s/\,//g; } # これでファイル処理はおしまいです・・・CGIでは最後は必ずブラウザ出力を # しなければなりません、というのは内部処理だけで終わると画面に処理が戻らず # 画面操作を継続することができなくなるからです。 # ブラウザに出力 print "Content-type: text/html\n\n"; print "\n\n"; print "ファイル処理(2)\n"; print "\n\n"; print "

ファイル処理を正常終了しました

\n"; print "

"; print "\n\n"; ################ end of script #################