以下のプログラムはごく簡単なWeb掲示板のCGIプログラムです。
#!/usr/bin/env ruby require 'cgi' cgi = CGI.new # http ヘッダの出力 print "Content-Type: text/html\n\n" # ボードファイル名 BFILE="board.dat" mes = cgi["message"][0] name = cgi["name"][0] if (mes) then mes = CGI.escapeHTML(mes) end if (name) then name = CGI.escapeHTML(name) end # メッセージがあったら、名前と共にボードファイルに追加 if (mes != "" && mes != nil) then fp = open(BFILE, "a") fp.print <<END <dt>#{name} さんの書き込み:</dt> <dd>#{mes}</dd> END fp.close end # HTMLファイルの先頭部分を出力 print "<html><body>\n" print "<h1>Very simple Web board</h1><hr><dl>\n" # 間にボードファイルの内容を挟み込む begin fp = open(BFILE, "r") while s = fp.gets do print s end fp.close rescue end # HTMLファイルの末尾部分(フォーム含む)を出力 print <<END </dl> <hr> <form method=post action=board.cgi> お名前: <input type=text size=20 name="name" value="#{name}"><br> 書き込み欄: <br> <textarea name=message rows=5 cols=60> </textarea><br> <input type=submit value="書き込み"> <input type=reset value="クリア"> </form> </body> </html> END
備考: