アンケートにお答えください。

あなたの好きな場所は?(例:公園、山の上)


あなたの趣味は?(サッカー、映画鑑賞)



【いつどこゲーム】 

【ソース】 kotoba.cgi 【解説】
  1. #!/usr/local/bin/perl
  2. $program="./kotoba.cgi";
  3. print "Content-Type: text/html\n\n";
  4. @when=('<FONT SIZE=3>昨日</FONT>',
  5. '<FONT SIZE=3>今日</FONT>',
  6. '<FONT SIZE=3>明日</FONT>',
  7. '<FONT SIZE=3>去年の誕生日に</FONT>',
  8. '<FONT SIZE=3>2006年1月1日午前0時に</FONT>',
  9. '<FONT SIZE=3>結婚記念日に</FONT>',
  10. '<FONT SIZE=3>敬老の日に</FONT>',
  11. '<FONT SIZE=3>クリスマスに</FONT>',
  12. '<FONT SIZE=3>紀元前3200年に</FONT>',
  13. '<FONT SIZE=3>真夏の暑い日</FONT>');
  14. @who=('<FONT SIZE=3>私が</FONT>',
  15. '<FONT SIZE=3>兄が</FONT>',
  16. '<FONT SIZE=3>みっちゃんが</FONT>',
  17. '<FONT SIZE=3>母が</FONT>',
  18. '<FONT SIZE=3>彼氏が</FONT>',
  19. '<FONT SIZE=3>隣のおばさんが</FONT>',
  20. '<FONT SIZE=3>通りがかりのチワワが</FONT>',
  21. '<FONT SIZE=3>インドネシア人の友人が</FONT>',
  22. '<FONT SIZE=3>大統領が</FONT>',
  23. '<FONT SIZE=3>大学教授が</FONT>');
  24. #「いつ」「だれが」は乱数でセット
  25. srand(time);
  26. #発生した乱数の値
  27. $dat_1=rand($#when); #この行はデバッグ用、後で削除
  28. $random_1=int(rand($#when+1));
  29. #発生した乱数の値その2
  30. $dat_2=rand($who); #この行はデバッグ用、後で削除
  31. $random_2=int(rand($#who+1));
  32. #「どこで」と「なにをした」はフォームの入力値をセット
  33. #送られてくる文字列の長さ
  34. $length=$ENV{'CONTENT_LENGTH'};
  35. #長さ分だけ標準入力から読み込む
  36. read(STDIN, $buffer, $length);
  37. #文字列ごとに分割する
  38. ($basyo,$syumi)=split( /&/ , $buffer);
  39. #フォーム名と内容に分割する
  40. ($name,$value1)= split( /=/ , $basyo);
  41. ($tel,$value2)=split( /=/ , $syumi);
  42. #フォームから送られたデータにスペースがあると、
  43. #プラス(+)に置き換えられるので、
  44. #スペースにしたままにする変換処理をする
  45. $value1=~ tr/+/ /;
  46. $value2=~ tr/+/ /;
  47. #フォームから送られたデータの特殊文字や日本語などは
  48. # % に続く2桁の16進数に置き換えられるので、
  49. #それを変換しなおす処理をする
  50. $value1=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
  51. $value2=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
  52. print <<EOF;
  53. <HTML><HEAD><TITLE>いつどこゲーム</TITLE></HEAD>
  54. <BODY>
  55. いつ・どこで・だれが・なにをした?<P>
  56. $when[$random_1] 、 $value1 で、 $who[$random_2] $value2 をしました。
  57. <BR></BODY></HTML>
  58. EOF
  59. exit;
これまでのソースのつなぎ合わせ。