| #入力フォームを画面に出力する print << "INPUT"; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>掲示板</title> </head> <body bgcolor="#FFFFCC"> <h1 align="center"><font size="4"><strong>掲示板</strong></font></h1> <div align="center"> <form name="form1" method="post" action="test.cgi"> <table width="100%" border="0"> <tr> <td width="150" align="right">名前</td> <td><input name="name" type="text" size="40"></td> </tr> <tr> <td width="150" align="right">メッセージ</td> <td><textarea name="message" cols="40"></textarea></td> </tr> </table> <p> <input type="submit" name="Submit" value=" 送信 "> <input type="reset" name="Submit2" value="リセット"> </p> </form> </div> INPUT |
入力フォームを画面に表示する為のコードです。
文字や画像を画面に表示する場合は、
print "<p>文字</p>";
のようにprint命令文の後ろに、表示する文字とタグを""(ダブルクォーテーション)でくくります。
複数行にわたる場合は、print << "INPUT"; とINPUTの間に文字とタグを記述することで、各行のprint文を省略できます。INPUTは終端文字列と呼ばれるもので、ユーザーが任意に指定できます。
赤文字部分が画面に表示する入力フォームのタグです。WEB作成用のソフトを使い自動で生成されたタグをコピーして使うという方法もあります。自らコードを組まなくても作成できるという理由から赤文字にしてあります。
| #test.txtファイルを開く open(BBS, "<test.txt") || die "File Open Error."; @bbs = <BBS>; close(BBS); |
掲示板に書き込まれたデータを保存したファイルを呼び出します。
open(BBS, "<test.txt") || die "File
Open Error.";
の命令文で、test.txtファイルを開き、これをファイルハンドルBBSに関連付けます。これ以降はこのファイルをファイルハンドルを使って識別します。ファイルハンドルをどのような名前にするかは任意です。
@bbs = <BBS>;
で、ファイルからデータを配列@bbsに読み込んでいます。ちなみに変数及び配列の各要素を表す場合は先頭文字を「$」とし、配列全体を表す場合は先頭文字を「@」とすることで区別しています。
また、ここでの配列は、グループを格納するための箱であるという点では先ほどの連想配列と同じですが、文字ではなく数字を指定して配列の中身を取り出す点で異なります。
具体的には、
$zoo[0]="ねこ";
$zoo[1]="いぬ";
$zoo[2]="さる";
のように代入します。配列を使って「さる」を画面に表示したい場合は、
print "$zoo[2]";
と指定する事で、配列から「さる」という文字を取り出して画面に表示します。連想配列では各要素を文字で関連づけてグループ化していたのに対して、この配列では各要素を数字で関連付けてグループ化しているのです。
close(BBS); で、ファイルハンドルを閉じて、読み込み処理が終了したことを知らせます。