[Perl][HTML::Template]<TMPL_LOOP>タグのサンプルプログラム
<TMPL_LOOP>タグはセクションを区切り、名前をつけることができます。この名前つきループの内側に<TMPL_VAR>タグを置き、プログラムでパラメータに代入するハッシュ・リファレンスの param() にリスト(配列リファレンス)を渡すと、リスト分の出力が繰り返されます。
以下は、<TMPL_LOOP>タグの使い方を示すサンプルプログラムです。サンプルプログラムでは、コンマで区切られたデータファイルを読み込んでリストを作成し、それをパラメータに渡してテーブルを表示しています。また、<TMPL_IF>タグ、<TMPL_ELSE>タグを使用してデータがない場合は、テーブルが出力されないようにしています。
--- データファイル(userdata.txt)
kagahiro,kitaakita,kagahiro3@59log.com,011678901 admin,tokyo,webmaster10@59log.com,011778901 buzei,kawasaki,support2@59bbs.org,041758901
--- テンプレートファイル(tmplloop.tmpl)
<html> <head> <title>HTML::Templateのサンプルプログラム LOOP</title> </head> <body> <h1>HTML::Templateのサンプルプログラム LOOP</h1> <TMPL_IF NAME=DATA_NUM> <table> <tr> <td>User Name</td> <td>Address</td> <td>Email</td> <td>Tel</td> </tr> <TMPL_LOOP NAME=USER_INFO> <tr> <td><TMPL_VAR NAME=USERNAME></td> <td><TMPL_VAR NAME=ADDRESS></td> <td><TMPL_VAR NAME=EMAIL></td> <td><TMPL_VAR NAME=TEL></td> </tr> </TMPL_LOOP> </table> <TMPL_ELSE> No data </TMPL_IF> </body> </html>
--- CGI(tmplloop.cgi)
#!/usr/bin/perl use strict; use warnings; use HTML::Template; my $template = HTML::Template->new(filename => 'tmplloop.tmpl'); my @loop_data = (); open my $infh, '<', "userdata.txt"; while (my $rec = <$infh>) { chomp $rec; if ($rec ne '') { my %row_data; my ($username, $address, $email, $tel) = split(/,/, $rec); $row_data{USERNAME} = $username; $row_data{ADDRESS} = $address; $row_data{EMAIL} = $email; $row_data{TEL} = $tel; push @loop_data, \%row_data; } } close $infh; $template->param(USER_INFO => \@loop_data); $template->param(DATA_NUM => scalar(@loop_data)); print "Content-Type: text/html; charset=utf-8\n\n"; print $template->output;
[1975] Posted by kagahiro at 2010/07/22 17:36:36
オープン | 0 point | Link (4) | Trackback (0) | Comment (0)
オープン | 0 point | Link (4) | Trackback (0) | Comment (0)
キーワード
[Perl][HTML::Template]<TMPL_LOOP>タグのサンプルプログラム 関連リンク
HTML::Template | |
HTML::Templateは、シンプルで高速なループ構造を表現するのに適したテンプレートエンジン。テンプレートファイルでは変数を入れるために以下のタグが使用できる。<TMPL_VAR> <TMPL_LOOP> <TMPL_INCL... |
[Perl][HTML::Template]<TMPL_VAR>タグのサンプルプログラム | |
HTML::Templateの |
テンプレートエンジン | |
テンプレートエンジンとは、テンプレートと呼ばれるHTMLページのひな形をプログラムからデータを渡し合成した結果をHTMLページとして出力するためのライブラリのこと。テンプレートエンジンを利用... |
[Perl]2次元配列のサンプルプログラム | |
C言語やC++なら2次元配列といっても配列の階層を増やすだけなので、わりと簡単に理解できるのですが、Perlはそこでリファレンスという、いまいちわかりにくいものが出てくるのでちょっと面倒... |
[Perl][HTML::Template]<TMPL_LOOP>タグのサンプルプログラム トラックバック
トラックバックURL :
[Perl][HTML::Template]<TMPL_LOOP>タグのサンプルプログラムへのコメント
アクセスランキング
今日のアクセスランキング TOP 10
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (5 PV)
- 無料のMT4向けナンピンマーチン爆益(爆損)EA「Jipangu(ジパング)」 (4 PV)
- 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (3 PV)
- 裁量トレードを自動化する裁量補助EA「AutoScalper Demo」 (3 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (3 PV)
- Exness ソーシャルトレーディングの戦略プロバイダーになりました (2 PV)
- Million Dollar Ver 1.09向けの収益性を重視したゴールド(Gold、XAUUSD)ロングセットファイル (2 PV)
- Million Dollar Ver 1.09向けの収益性を重視したドル円(USDJPY)ロングセットファイル (2 PV)
- 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 使用制限無し (2 PV)
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2 PV)
今月のアクセスランキング TOP 10
- 2NN 2ちゃんねるニュース速報+ナビ (3279 PV)
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (525 PV)
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (100 PV)
- 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (93 PV)
- SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (76 PV)
- Million Dollar Ver 1.09向けの収益性を重視したゴールド(Gold、XAUUSD)ロングセットファイル (68 PV)
- 無料のMT4向けナンピンマーチン爆益(爆損)EA「Jipangu(ジパング)」 (67 PV)
- 仲値トレードが簡単にできる無料EA「NAKANE3 Ver 2.04」 #MT4 (60 PV)
- [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (54 PV)
- 2chまとめサイト - 痛いニュース(ノ∀`) (48 PV)
アクセス統計
ディレクトリ
関連サイト