[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;
[1975] Posted by kagahiro at 2010/07/22 17:36:36
0 point | Link (4) | Trackback (0) | Comment (0)

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;
[1974] Posted by kagahiro at 2010/07/22 13:20:16
0 point | Link (3) | Trackback (0) | Comment (0)

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.

Freebase

(追記あり)
[1973] Posted by kagahiro at 2010/07/22 00:08:47
1 point | Link (1) | Trackback (1) | Comment (0)

IPA(情報処理推進機構)オープンソフトウェア・センターが中心となって原案作成を進めてきたWebサービスの相互運用性に関するJIS規格(JIS X 7361、JIS X 7362、JIS X 7363)が公示された。これらのJIS規格を活用す...
[1972] Posted by kagahiro at 2010/07/22 00:05:13
0 point | Link (2) | Trackback (0) | Comment (0)

  1  


アクセスランキング

今日のアクセスランキング TOP 10

  1. リネージュII・アイテム売買 (3 PV)
  2. Google トレンドとGoogle Insights for Searchが統合 (3 PV)
  3. Google AdSense のクリック率を上げるひどいテクニック (2 PV)
  4. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2 PV)
  5. はてなダイアリー、ブログモードの正式運用を開始 (2 PV)
  6. RabbitMQ (2 PV)
  7. FFR(日米政府の新たな貿易協議)で円高か #FX #ドル円 (2 PV)
  8. jHtmlArea (2 PV)
  9. 海外掲示板を読むために気になったスラング系英単語まとめ | Kousyoublog (2 PV)
  10. [Perl]UTF-8でエンコードされた英数字の全角半角変換を行うコード (2 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (123 PV)
  2. FC2まとめ (47 PV)
  3. 海外掲示板を読むために気になったスラング系英単語まとめ | Kousyoublog (42 PV)
  4. 2NN 2ちゃんねるニュース速報+ナビ (36 PV)
  5. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (29 PV)
  6. StartPage(スタートページ) - 匿名検索エンジン (23 PV)
  7. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (17 PV)
  8. MT4向け無料ヘッジ(両建て)ツール(EA)「STOPPER FREE」 #自動売買 #FX (16 PV)
  9. ガンマトレード(ガンマプレイ)とは #FX #用語解説 #オプション取引 (14 PV)
  10. Google Maps(グーグルマップ)日本版 - 地図検索、ルート検索 (14 PV)

アクセス統計

ディレクトリ

関連サイト