[ファイル]の検索結果
メールフォームCGI、Q&A CGI、ブックマークCGIをそれぞれバージョンアップしました。
HTML::Templateを使用してUIの部分をできるだけプログラムから取り除き、テンプレートファイルで記述するように変更しました。これによってページデザインのカスタマイズがより簡単になると思われます。
なお、機能については特に変更はありません。
メールフォームCGI
Q&A CGI
ブックマークCGI
HTML::Templateを使用してUIの部分をできるだけプログラムから取り除き、テンプレートファイルで記述するように変更しました。これによってページデザインのカスタマイズがより簡単になると思われます。
なお、機能については特に変更はありません。
メールフォームCGI
Q&A CGI
ブックマークCGI
<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;
HTML::Templateは、シンプルで高速なループ構造を表現するのに適したテンプレートエンジン。テンプレートファイルでは変数を入れるために以下のタグが使用できる。<TMPL_VAR> <TMPL_LOOP> <TMPL_INCL...
Template Toolkit (TT)は、HTML::Templateなど他のテンプレートと比較してより汎用性の高い処理をすることが可能なテンプレートエンジン。出力をサブルーチンに渡したりファイルに出力することもできる。また、テンプ...
+
A EPUB(イーパブ)
EPUB(イーパブ)は、米国の電子書籍標準化団体「International Digital Publishing Forum(IDPF)」が開発したオープンな電子書籍ファイルフォーマット規格。オープンな規格であることとフォーマットの単純さから、...
C言語やC++なら2次元配列といっても配列の階層を増やすだけなので、わりと簡単に理解できるのですが、Perlはそこでリファレンスという、いまいちわかりにくいものが出てくるのでちょっと面倒です。とはいっても、2次...
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...
マルチユーザー対応のブログソフトウェア「59Tracker 4.1」をリリースしました。59Tracker 4.1ではデータファイルのレイアウト変更はないものの、プログラム関連のファイル構成およびプログラムの内容は大幅に変更さ...
(追記あり)
オープンソースのWeb掲示板ソフト「59bbs 3.1」をリリースしました。59bbs 3.1ではデータファイルのレイアウト変更はないものの、プログラム関連のファイル構成およびプログラムの内容は大幅に変更されています。主な...
(追記あり)
アクセスランキング
今日のアクセスランキング TOP 10
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (7 PV)
- 中島美嘉(なかしまみか) (2 PV)
- FC2WiFI (2 PV)
- 宇多田ヒカル(うただひかる、ヒッキー) (2 PV)
- RSS/Atom 書籍 (2 PV)
- 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 使用制限無し (2 PV)
- [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (2 PV)
- [FX]無料EA「NAKANE3」をバージョンアップしました #時間指定 #トレール #仲値トレード (2 PV)
- 三井住友海上火災保険、一部業務停止命令の見通し (2 PV)
- [PR]「お名前.comデスクトップクラウド for MT4」が6月30日まで1ヶ月払いでの契約で1ヶ月間料金無料 (1 PV)
今月のアクセスランキング TOP 10
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (8 PV)
- FC2WiFI (3 PV)
- 宇多田ヒカル(うただひかる、ヒッキー) (2 PV)
- 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 使用制限無し (2 PV)
- 日経平均株価(にっけいへいきんかぶか) (2 PV)
- ライセンスビジネスを脅かす無料Webサービス (2 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (2 PV)
- [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (2 PV)
- VBA 書籍 (2 PV)
- [FX]無料EA「NAKANE3」をバージョンアップしました #時間指定 #トレール #仲値トレード (2 PV)
アクセス統計
ディレクトリ
関連サイト



