
■=Perl, ■=結果
ブラウザに背景色や文字色を変更して使う時、16進数で表す必要がありますね。そこで単純なカラーサンプル表を作ってみましょう。ここでは変数と配列について説明しながら話を進めていきます。 |
|
$age = 10; $name = "ココ"; |
|
@age = (1, 5, 10); @name = ("ココ", "シー・ズー", "イヌ"); |
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
@age = (1, 5, 10);
@name = ("ココ", "シー・ズー", "イヌ");
print "@age<br>\n";
print "@name<br>\n"
;
exit;
|
1 5 10 ココ シー・ズー イヌ |
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
@age = (1, 5, 10);
@name = ('ココ', 'シー・ズー', 'イヌ');
print "@age[0] |
1 ココ |
| 配列名 | 要素0番 | 要素1番 | 要素2番 |
| name | ココ | シー・ズー | イヌ |
#!/usr/local/bin/perl
$title = "カラーサンプル表";#HTML文書のタイトル
@color1 = ('FF', 'EE', 'DD', 'CC', 'BB', 'AA', '99', '88', '77', '66', '55', '44', '33', '22', '11', '00');
@color2 = ('00', '11', '22', '33', '44', '55', '66', '77', '88', '99', 'AA', 'BB', 'CC', 'DD', 'EE', 'FF');
$i = 0;
print "Content-type: text/html\n\n";
require 'heder.txt';# ヘッダー読み込み
print "<h2>カラーサンプル表</h2>\n";
print "<table border='1'>\n";
print "<tr><td>色見本</td><td>色コード</td><td> </td><td>色見本</td><td>色コード</td><td> </td><td>色見本</td><td>色コード</td><td> </td><td>色見本</td><td>色コード</td></tr>\n";
while ($i < 16) {
print "<tr><td bgcolor='#$color1[$i]$color1[$i]$color1[$i]'> </td><td>#$color1[$i]$color1[$i]$color1[$i]</td><td> </td>";
print "<td bgcolor='#$color1[$i]$color2[$i]$color2[$i]'> </td><td>#$color1[$i]$color2[$i]$color2[$i]</td><td> </td>";
print "<td bgcolor='#$color2[$i]$color1[$i]$color2[$i]'> </td><td>#$color2[$i]$color1[$i]$color2[$i]</td><td> </td>";
print "<td bgcolor='#$color2[$i]$color2[$i]$color1[$i]'> </td><td>#$color2[$i]$color2[$i]$color1[$i]</td></tr>\n";
$i++;
}
print "</table>\n";
require 'fotter.txt';# フッター読み込み
exit;
|
| while (条件式) {条件式が正しいときの繰り返し処理} |
$i = 0;
while ($i < 16) {
print "<tr><td bgcolor='#$color1[$i]$color1[$i]$color1[$i]'> </td><td>#$color1[$i]$color1[$i]$color1[$i]</td><td> </td>";
print "<td bgcolor='#$color1[$i]$color2[$i]$color2[$i]'> </td><td>#$color1[$i]$color2[$i]$color2[$i]</td><td> </td>";
print "<td bgcolor='#$color2[$i]$color1[$i]$color2[$i]'> </td><td>#$color2[$i]$color1[$i]$color2[$i]</td><td> </td>";
print "<td bgcolor='#$color2[$i]$color2[$i]$color1[$i]'> </td><td>#$color2[$i]$color2[$i]$color1[$i]</td></tr>\n";
$i++;
}
|
$i = 0; |
while ($i < 16) { }
|
$i++; |
| $i++ は $i に1を加算する意味で |
| と同じ意味になります。 |
@color1 = ('FF', 'EE', 'DD', 'CC', 'BB', 'AA', '99', '88', '77', '66', '55', '44', '33', '22', '11', '00');
@color2 = ('00', '11', '22', '33', '44', '55', '66', '77', '88', '99', 'AA', 'BB', 'CC', 'DD', 'EE', 'FF');
|
| 配列名 | 要素0 | 要素1 | 要素2 |
| name | ココ | シー・ズー | イヌ |
| 配列名 | 要素0番 | 要素1番 | 要素2番 |
| name | ココ | シー・ズー | イヌ |
| 配列名 | 要素-3番 | 要素-2番 | 要素-1番 |
#!/usr/local/bin/perl
$title = "カラーサンプル表";#HTML文書のタイトル
@color1 = ('FF', 'EE', 'DD', 'CC', 'BB', 'AA', '99', '88', '77', '66', '55', '44', '33', '22', '11', '00');
$i = 0;
print "Content-type: text/html\n\n";
require 'heder.txt';# ヘッダー読み込み
print "<h2>カラーサンプル表</h2>\n";
print "<table border='1'>\n";
print "<tr><td>色見本</td><td>色コード</td><td> </td><td>色見本</td><td>色コード</td><td> </td><td>色見本</td><td>色コード</td><td> </td><td>色見本</td><td>色コード</td></tr>\n";
while ($i < 16) {
print "<tr><td bgcolor='#$color1[$i]$color1[$i]$color1[$i]'> </td><td>#$color1[$i]$color1[$i]$color1[$i]</td><td> </td>";
print "<td bgcolor='#$color1[$i]$color1[-($i+1)]$color1[-($i+1)]'> </td><td>#$color1[$i]$color1[-($i+1)]$color1[-($i+1)]</td><td> </td>";
print "<td bgcolor='#$color1[-($i+1)]$color1[$i]$color1[-($i+1)]'> </td><td>#$color1[-($i+1)]$color1[$i]$color1[-($i+1)]</td><td> </td>";
print "<td bgcolor='#$color1[-($i+1)]$color1[-($i+1)]$color1[$i]'> </td><td>#$color1[-($i+1)]$color1[-($i+1)]$color1[$i]</td></tr>\n";
$i++;
}
print "</table>\n";
require 'fotter.txt';# フッター読み込み
exit;
|
| $color1[-($i+1)] |
| foreach 変数 (リスト) {繰り返し処理} |
| は |
| の省略形です。 |
#!/usr/local/bin/perl
$title = "カラーサンプル表";#HTML文書のタイトル
@color1 = ('FF', 'EE', 'DD', 'CC', 'BB', 'AA', '99', '88', '77', '66', '55', '44', '33', '22', '11', '00');
@color2 = ('00', '11', '22', '33', '44', '55', '66', '77', '88', '99', 'AA', 'BB', 'CC', 'DD', 'EE', 'FF');
$i = 0;
print "Content-type: text/html\n\n";
require 'heder.txt';# ヘッダー読み込み
print "<h2>カラーサンプル表</h2>\n";
print "<table border='1'>\n";
print "<tr><td>色見本</td><td>色コード</td><td> </td><td>色見本</td><td>色コード</td><td> </td><td>色見本</td><td>色コード</td><td> </td><td>色見本</td><td>色コード</td></tr>\n";
foreach (@color1) {
print "<tr><td bgcolor='#$_$_$_'> </td><td>#$_$_$_</td><td> </td>";
print "<td bgcolor='#$_$color1[-($i+1)]$color1[-($i+1)]'> </td><td>#$_$color1[-($i+1)]$color1[-($i+1)]</td><td> </td>";
print "<td bgcolor='#$color1[-($i+1)]$_$color1[-($i+1)]'> </td><td>#$color1[-($i+1)]$_$color1[-($i+1)]</td><td> </td>";
print "<td bgcolor='#$color1[-($i+1)]$color1[-($i+1)]$_'> </td><td>#$color1[-($i+1)]$color1[-($i+1)]$_</td></tr>\n";
$i++;
}
print "</table>\n";
print qq|<br><a href="./bgcolor_text.cgi">テキストの色替え</a>もあります。\n|;
require 'fotter.txt';# フッター読み込み
exit;
|
bgcolor_3.cgi| | Back | Coco's Home | ココとPerlで遊びませんか | |