[date:20100722]の検索結果
<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;
HTML::Templateの<TMPL_VAR>タグは、プログラムでパラメータに値を設定すると、 タグの部分がパラメータで設定された文字列で置き換えられるという簡単なものです。
以下は、<TMPL_VAR>タグの使い方を示す単純なサンプルプログラムです。
--- テンプレートファイル(tmplvar.tmpl)
<html> <head> <title>HTML::Templateのサンプルプログラム VAR</title> </head> <body> <h1>HTML::Templateのサンプルプログラム VAR</h1> <p> My Name is <TMPL_VAR NAME=NAME> <br /> My IP Address is <TMPL_VAR NAME=IPADDR> <br /> </p> </body> </html>
--- CGI(tmplvar.cgi)
#!/usr/bin/perl
use strict;
use warnings;
use HTML::Template;
my $template = HTML::Template->new(filename => 'tmplvar.tmpl');
$template->param(NAME => 'Yamato, Taro');
$template->param(IPADDR => $ENV{'REMOTE_ADDR'});
print "Content-Type: text/html; charset=utf-8\n\n";
print $template->output;
Freebaseは、映画、本、TV番組、セレブ、企業など1200万以上のエントリを含む大規模な情報データベース。誰もが貢献・共有できるオープンな共有型知識データベースで、開発者はFree APIを利用して、Freebaseの構造データを自分のアプリケーションやサービスに統合できる。
Freebase is an open, Creative Commons licensed repository of structured data of more than 12 million entities.
An entity is a single person, place, or thing. Freebase connects entities together as a graph.
1
アクセスランキング
今日のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (6 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (3 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (2 PV)
- 10baggerの配布は終了しました (2 PV)
- さきゅばす - ニコニコ動画コメント付き動画保存ソフト (2 PV)
- FC2WiFI (2 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (2 PV)
- ニコニコ動画は本気でMADを削除する気があるのだろうか (2 PV)
- 人気ナンピンマーチンEA「NPNM_v3」向けサンプルセットファイル (1 PV)
- RIA(Rich Internet Application、リッチインターネットアプリケーション) (1 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (67 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (14 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (10 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (7 PV)
- SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (6 PV)
- StartPage(スタートページ) - 匿名検索エンジン (5 PV)
- FC2まとめ (5 PV)
- 人気ナンピンマーチンEA「NPNM_v3」向けサンプルセットファイル (5 PV)
- YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (5 PV)
- 日経平均株価(にっけいへいきんかぶか) (4 PV)
アクセス統計
ディレクトリ
関連サイト