[ファイル]の検索結果


メールフォーム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. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (20 PV)
  2. StartPage(スタートページ) - 匿名検索エンジン (7 PV)
  3. FC2まとめ (7 PV)
  4. 2ちゃんねる(2ch) (5 PV)
  5. 2NN 2ちゃんねるニュース速報+ナビ (4 PV)
  6. 水木しげるの人生訓「幸福の七か条」 (3 PV)
  7. Twitter Lite - 起動時や利用時の読み込み速度が最大30%アップ (3 PV)
  8. 「RPGツクールMV」製ゲームを簡単にiOS、Androidアプリ化する「Monaca for RPGツクール」 #テクノロジー (3 PV)
  9. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (3 PV)
  10. [PR]海外FXのキャッシュバック口座開設なら「TariTali(タリタリ)」経由が断然お得 (3 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (23 PV)
  2. FC2まとめ (15 PV)
  3. StartPage(スタートページ) - 匿名検索エンジン (8 PV)
  4. 将棋ウォーズPCブラウザ版がchrome、Firefox、edgeなどに対応 (8 PV)
  5. 2NN 2ちゃんねるニュース速報+ナビ (6 PV)
  6. 掲示板CGI ThreadPlus 1.2 のリリース (5 PV)
  7. 「Kindle for the Web」 (5 PV)
  8. 2ちゃんねる(2ch) (5 PV)
  9. 電通が2ちゃんねるを監視 「電通バズリサーチ(Dentsu Buzz Research)」 (5 PV)
  10. FC2ブログにコミュニティ機能 (4 PV)

アクセス統計

ディレクトリ

関連サイト