HTML テンプレート
 
                                   動作確認ジャンプ
[その1] テンプレートとは? 

   【電算】流れ図を描くための定規板.
        図形部分が穴になっていて,穴の内側にそって図形を描く.

   【ひな型】(雛型)
      (1)実物に似(に)せて小さく作ったもの。[類]模型(もけい)
      (2)様式。書式。
       (3)見本(みほん)

   【ワープロ・表計算】
      サンプルフォーム

というわけで,へたなコラムみたいに辞書で引いてしまった。 ここでは,やはり【ワープロ・表計算】のサンプルホームに近い使い方をする。
 
 [その2] CGIでのテンプレートの使い方 

 CGIのソースは左図のような構造になっている。
そこで,これを下図のように2種類にテンプレートを
使って分けることができる。
 これによる利点は,1つのソースのサイズが小さくなる。
また,HTMLは単独で作れるから簡単になる。
ただし,デバッグしやすいか,見やすいかというと
う〜ん・・・。


 

 

 [その3] HTMLテンプレートの動作 
 下記の表の
  _%BEATLES1%_   〜  _%BEATLES1%_ 
 を 「名前」・「画像」に置き換える。
 
  名前にチェンジ  画像にチェンジ  元に戻す           
guitar1  bass  guitar2  drum 
_%BEATLES1%_ _%BEATLES2%_ _%BEATLES3%_ _%BEATLES4%_


   
 [その4] テンプレートの動作の解説 
 「HTML テンプレート」
  @ 「書き換えCGI」で読み込み
  A 正規表現で置換し
  B 表示する。 
  [注意] 置換する元の文字は通常の文章・タグに出てこない
       文字(_%BEATLES1%_など)にする。
  

  
HTML テンプレート

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
<TABLE border="1" cellpadding="20">
<TBODY>
<TR>
<TD bgcolor="#009999"><FONT size="+1">guitar1</FONT></TD>
<TD bgcolor="#009999"> <FONT size="+1">bass</FONT> </TD>
<TD bgcolor="#009999"><FONT size="+1">guitar2</FONT></TD>
<TD bgcolor="#009999"> <FONT size="+1">drum</FONT> </TD>
</TR>
<TR>
<TD bgcolor="#000099">_%BEATLES1%_</TD>
<TD bgcolor="#000099">_%BEATLES2%_</TD>
<TD bgcolor="#000099">_%BEATLES3%_</TD>
<TD bgcolor="#000099">_%BEATLES4%_</TD>
</TR>
</TBODY>
</TABLE>
------------------------------------------------------------

 

書き換えCGIソース (Perl)

#!/usr/local/bin/perl

# ------------------------------------------------------------
# htmlテンプレートの利用  (ファイル名: UB_template_1.cgi )
# ------------------------------------------------------------

## 固有設定
$htmfile = './UB_template_1.htm';   # html テンプレート ファイル名

## 代入文字
$name1 = "John";
$name2 = "Paul";
$name3 = "George";
$name4 = "Ringo";

### --- メインルーチン
&in_tm_file;
&out_tm_file;
exit(0);

### テンプレート読み込み 
sub in_tm_file {
open(TM,"<$htmfile") || &error(bad_file);
}

### テンプレート+データ 書き込み 
sub out_tm_file {
print qq(Content-type: text/html\n\n);

while (<TM>){

s/_%BEATLES1%_/$name1/g;
s/_%BEATLES2%_/$name2/g;
s/_%BEATLES3%_/$name3/g;
s/_%BEATLES4%_/$name4/g;
print;
}

}


−−−−−−−−−−−−−−−−−−−−−−−−−−−−


 [その5] 実際何にどう使うか? 
  @ 「HTM表示」 部分が多い場合
  A ソースが大きくなりすぎ場合
  B 「HTM表示」を個別に編集したい場合 (配布)
  C 掲示板・チャットなどフリーCGIでHTMファイルがある場合
     テンプレートが使われていることが多い?