kuji.cgi 呼び出す

【ラッキーカラーおみくじ】(乱数発生) 

【ソース】 kuji.cgi 【解説】
  1. #!/usr/local/bin/perl
  2. $program="./kuji.cgi";
  3. print "Content-Type: text/html\n\n";
  4. @color=('<FONT SIZE=3>レッド</FONT>',
  5. '<FONT SIZE=3>ブルー</FONT>',
  6. '<FONT SIZE=3>グリーン</FONT>',
  7. '<FONT SIZE=3>イエロー</FONT>',
  8. '<FONT SIZE=3>ブラック</FONT>',
  9. '<FONT SIZE=3>ホワイト</FONT>',
  10. '<FONT SIZE=3>ブラウン</FONT>',
  11. '<FONT SIZE=3>パープル</FONT>',
  12. '<FONT SIZE=3>シルバー</FONT>',
  13. '<FONT SIZE=3>ゴールド</FONT>',
  14. '<FONT SIZE=3>ピンク</FONT>',
  15. '<FONT SIZE=3>クリーム</FONT>',
  16. '<FONT SIZE=3>チャコール</FONT>');
  17. srand(time);
  18. #発生した乱数の値
  19. $dat=rand($#color); #この行はデバッグ用なので使用時には削除
  20. $random=int(rand($#color+1));
  21. print <<EOF;
  22. <HTML><HEAD><TITLE>ラッキーカラーおみくじ</TITLE></HEAD>
  23. <BODY>
  24. 今日のラッキー・カラー<P>
  25. <TABLE BORDER="4" CELLPADDING="2">
  26. <TR><TD>$color[$random]</TD></TR></TABLE>
  27. <HR>
  28. 乱数:$dat<P> <!--乱数($dat)を表示 この行は後で削除-->
  29. 配列+1、:$random<P> <!--配列番号+1($random)を表示 この行は後で削除-->
  30. <A HREF="$program">again</A>
  31. <BR></BODY></HTML>
  32. EOF
  33. exit;






7.乱数に当てはめる文字を設定
 「@_」は配列変数を表す
 リストの変数全体を表す場合「@color」
 各要素を表す場合は「$color[n]」となる
 [ ]内の数字は「0」から始まる








22.現在時間で乱数ジェネレータを初期化する。
26.「$#color」で、
 color配列の最後の添え字番号を表示
 添え字は「0」から始まるので要素数より
 「-1」した数が入る。

28.「int」は整数を得る、小数点以下切捨て
 つまり添え字に+1してあるので
 colorの要素数分までの数値で乱数を
 発生させ、小数点切捨てにした数値が
 dandomに入る。


34.color変数の[$random]番目を表示







数値関数
srand 乱数初期化
rand 乱数発生
floor 切り捨て整数化
ceil 切り上げ整数化
round 四捨五入
sqrt 平方根


■rand (乱数発生)
【例】 $i = rand(0, 99);
          |  |_ 上限値
          |_ 下限値
** $i には、0 〜 99
    の乱数がセットされる。

配列変数の表記法 (上記ソースで使用しているものは赤文字
表記方法 解説
@color 配列変数 @color 全体
$color[3] 配列変数 @color の4番目の要素(0から始まるため)
$color[-1] 配列変数 @color の最後の要素
$#color 配列変数 @color の最後の添字番号
(添字は 0 から始まるので要素の数より 1 少ない値になります)。
$page = @color; スカラー変数に配列変数を代入すると要素数が代入されます。
$#color = -1;
@color = ();
どちらも @hoge を空にします。
undef @color; @hoge を未定義値にします。

「int」で計算式の余りだけ出す方法
print($val1 - $val2 * int($val1 / $val2)) で余りがでる。
この場合「小数点以下切り捨て」ではなく、「その数を超えない最大の整数を返す」
というところが理解のポイント