SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

CGI-Perl 基礎実地編 - 実習6 (制御構造 - while ループ)

■test06.cgi

------ ↓ ここから ↓ ------
#!/usr/local/bin/perl

#// HTML 出力
  print "Content-type: text/html\n\n";
  print "<HTML>\n";
  print "<P>while ループテスト</P>\n";

  print "<TABLE border=1 cellPadding=2 cellSpacing=1>\n";
  $y = 0;
  while ($y < 3) {
    print "<TR>\n";
    $x = 0;
    while ($x < 5) {
      $i = $y * 5 + $x + 1;
      print "<TD>";
      print $i;
      print "</TD>\n";
      $x++;
    }
    print "</TR>\n";
    $y++;
  }
  print "</TABLE>\n";

  print "</HTML>\n";

#// 終了
  exit(0);
------ ↑ ここまで ↑ ------

■解説

  ・この test06.cgi は、実行するとブラウザに
    1 〜 15 の数値が入ったテーブルを表示します。
    現実には、この手のループを while で組むのは効率が悪く、
    先の for ループを使用します。

  while ($y < 3) {
  |      |
  |      |_ ループ条件 ($y が 3 より小さいときループする)
  |_ while ループ

      $i = $y * 5 + $x + 1;
      |_ $i = $y++ * 5 + $x++ + 1; とすると、
         下の $x++ と $y++ がなくせる。

  ** あまり良い while の使い方実習ではないので軽く流して下さい。

■補足

  ・while() と似たものに until() や do() ループがあります。
    ループ条件を最初に判定する、最後に判定する、真のときループ、
    真のとき、ループ脱出など、目的にあわせて使い分けると良いです。
    私は、while() で全部やろうとするクセがあります。(^^;

■実地

  ・test06.cgi も実際に作成してテストしてみましょう。
    アレンジを忘れずに。

■CGI-Perl 基礎実地編資料
■CGI-Perl 基礎編資料
■CGI-Perl 応用実地編資料
■PHP 基礎編資料
■PHP + MySQL 編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2025 Y.SAK