[ファイル]の検索結果


メールフォームCGI、Q&A CGI、ブックマークCGIをそれぞれバージョンアップしました。

HTML::Templateを使用してUIの部分をできるだけプログラムから取り除き、テンプレートファイルで記述するように変更しました。これによってページデザインのカスタマイズがより簡単になると思われます。

なお、機能については特に変更はありません。

メールフォームCGI
Q&A CGI
ブックマークCGI
[1980] Posted by kagahiro at 2010/07/25 18:06:26
0 point | Link (1) | Trackback (0) | Comment (0)

<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)

HTML::Templateは、シンプルで高速なループ構造を表現するのに適したテンプレートエンジン。テンプレートファイルでは変数を入れるために以下のタグが使用できる。<TMPL_VAR> <TMPL_LOOP> <TMPL_INCL...
[1970] Posted by kagahiro at 2010/07/21 17:23:58
0 point | Link (4) | Trackback (0) | Comment (0)

Template Toolkit (TT)は、HTML::Templateなど他のテンプレートと比較してより汎用性の高い処理をすることが可能なテンプレートエンジン。出力をサブルーチンに渡したりファイルに出力することもできる。また、テンプ...
[1969] Posted by kagahiro at 2010/07/20 17:32:51
0 point | Link (2) | Trackback (0) | Comment (0)

EPUB(イーパブ)は、米国の電子書籍標準化団体「International Digital Publishing Forum(IDPF)」が開発したオープンな電子書籍ファイルフォーマット規格。オープンな規格であることとフォーマットの単純さから、...
[1968] Posted by kagahiro at 2010/07/19 16:49:14
0 point | Link (4) | Trackback (0) | Comment (0)

C言語やC++なら2次元配列といっても配列の階層を増やすだけなので、わりと簡単に理解できるのですが、Perlはそこでリファレンスという、いまいちわかりにくいものが出てくるのでちょっと面倒です。とはいっても、2次...
[1962] Posted by kagahiro at 2010/07/17 00:10:40
0 point | Link (3) | Trackback (0) | Comment (0)

Pyfilesystem is a Python module that provides a common interface to many types of filesystem, and provides some powerful features such as exposing filesystems over an internet connection, or to the na...
[1959] Posted by kagahiro at 2010/07/09 00:14:50
0 point | Link (1) | Trackback (0) | Comment (0)

マルチユーザー対応のブログソフトウェア59Tracker 4.1」をリリースしました。59Tracker 4.1ではデータファイルのレイアウト変更はないものの、プログラム関連のファイル構成およびプログラムの内容は大幅に変更さ...
(追記あり)
[1918] Posted by kagahiro at 2010/06/14 12:03:39
0 point | Link (2) | Trackback (0) | Comment (0)

オープンソースのWeb掲示板ソフト「59bbs 3.1」をリリースしました。59bbs 3.1ではデータファイルのレイアウト変更はないものの、プログラム関連のファイル構成およびプログラムの内容は大幅に変更されています。主な...
(追記あり)
[1915] Posted by kagahiro at 2010/06/11 22:46:49
0 point | Link (2) | Trackback (0) | Comment (0)

|< 先頭へ  < 前へ  8 9 10 11 12  次へ >


アクセスランキング

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

  1. 都合のいいプログラマの見分け方 (2 PV)
  2. Q&Aコミュニティ (2 PV)
  3. 消費税増税(10%への引き上げ)軽減税率で大混乱 #安倍増税 #景気後退 #便乗値上げ (2 PV)
  4. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (2 PV)
  5. 予想より悪い7-9月GDP速報を受けて一時1ドル117円までドルが上昇 (2 PV)
  6. Next-L Enju (2 PV)
  7. 楽天がTBSの筆頭株主に (1 PV)
  8. WordCamp Japan (1 PV)
  9. chizumado(ちず窓) (1 PV)
  10. 予想外に悪い米雇用統計でドルが急落、来週はドル売り祭か #usdjpy #fx (1 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (169 PV)
  2. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (156 PV)
  3. 2NN 2ちゃんねるニュース速報+ナビ (82 PV)
  4. FC2まとめ (39 PV)
  5. 仲値トレードが簡単にできる無料EA「NAKANE3」 #MT4 (37 PV)
  6. MT4向け1ポジブレイクアウトEA「HEADLINE」オープンソースライセンス(GPL3)で公開 #USDJPY (33 PV)
  7. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (32 PV)
  8. 2ちゃんねる(2ch) (30 PV)
  9. 爆益を狙うハイリスクハイリターンのナンピンマーチンEA「Hyper Dollar MT5」 (28 PV)
  10. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (26 PV)

アクセス統計

ディレクトリ

関連サイト