| 可変の表の出力 |
HTMLテンプレートファイルには、CGIで展開する表の部分を通常の文章では使われないような、もちろんHTMLタグなどにも使われない特別なルールで書いておきます。ここでは展開する部分を
__@表@__
とすることにします。例えば、次のようなHTMLのテンプレートを定義します。
<HTML> <HEAD> <TITLE>可変の表を出力</TITLE> </HEAD> <BODY> <TABLE> _@Table@__ </TABLE> </BODY> </HTML> |
CGIでは、__@Table@__を置き換えます。
#!/usr/bin/perl
#
# table_template.cgi
#
# (C) Kaoru Fujita
#
use lib './lib';
require 'util.pl';
#
# 定数
#
$TmplLoc = './templates';
$Template = $TmplLoc.'/table_html.tmpl';
$TblName = 'Table';
open(FH, "<$Template")
or exitError("テンプレートファイルがオープンできません: $Template");
print "Content-Type: text/html\n\n";
# テーブルの作成
$g = 0x00;
for ($r=0x00; $r <= 0xff; $r+=0x10) {
$table = $table.'<TR>';
for ($b=0x00; $b <= 0xff; $b+=0x10) {
$g = $b if ($r == $b);
$rgb = sprintf("%02x%02x%02x", $r, $g, $b);
$table = $table.'<TD BGCOLOR="#'.$rgb.'"> </TD>';
}
$table = $table."</TR>\n";
}
while (<FH>) {
s/__\@$TblName\@__/$table/g;
print;
}
exit(0);
#--End of table_template.cgi
|