nDiki : 2004年10月16日
2004年10月16日 (土)
■ 過去の今ごろ

過去の10月16日より。
- Sys::CpuLoad
- SpeedyCGI 下だったら使った方が平均的には速いかも。
- サーバの負荷が高くなったら DiKicker が 503 を返して沈静化を... (2007-04-05)
- [ WiKicker ] SpeedyCGI 対応するも…… (2003-11-09)
- [ WiKicker ] SpeedyCGI 化の様子 (2003-11-10)
- [ Perl ] Log::Log4perlのはまりどころ (2004-03-02)
- 過去の今ごろ (2004-06-30)
■ Template Toolkit のテンプレート上で対話的入力

ちょっとしたプログラムパッケージや LaTeX ドキュメントを作成する時に、Makefile やその他ファイルのスケルトンをまとめて生成する算段を検討中。 例えば Perl の h2xs のような感じ。
基本的には Template Toolkit ベースでいってみたい。 ttree あたりを使えばだいたいできそうだ。 ここで --define var=value で全て間違えずに指定するのは大変になってくるだろう。 ということでテンプレート変数定義をまとめたテンプレートファイルを作成し、各テンプレート処理をする際にプリプロセスするようにする。
でこのテンプレート変数定義のテンプレートファイルは対話的に作成できるようにしたい。 テンプレートファイルのテンプレートファイルを処理して。
で対話的入力の方法なのだが、探してもそのようなディレクティブもプラグインもみつからない。ありそうなもんだけどなぁ。
しょうがないので、PERL ディレクィブ内で Term::ReadLineを使って入力。 こんな感じ。
[% TAGS [- -] -%]
[- PERL -]
use Term::ReadLine;
my $term = new Term::ReadLine('template');
$stash->set('readline' => sub {
my $prompt = shift || 'input:';
my $text = $term->readline($prompt);
if (defined $text) {
$term->addhistory($text);
}
return $text;
});
[- END --]
[% project.name = '[- readline('project name:') -]' -%]
[% project.author = '[- readline('author:') -]' -%]
tpage でこのテンプレートファイルを処理すると、対話的に値を入力しながらテンプレートファイルを生成できる。 実際は文字列のエスケープなどもうちょっと工夫が必要。
ちなみに Debian GNU/Linux sid の libtemplate-perl は 2.10-1 で、このバージョンの Template Toolkit の tpage だと EVAL_PERL が有効になっておらずうまく動かない。 手元にコピーして Template オブジェクトの初期化部分に EVAL_PERL => 1 を追加する必要あり (2.14 の tpage は --eval_perl オプションで有効にできる)。
- Twitter ベイジアンフィルタプロキシ (2007-12-29)
- reStructuredText いいんじゃない? (2005-11-22)
- sid の CinePaint がプラグイン読み込みでエラー (2006-04-15)
- Twitter への書き込みを自動的に Skype ムードメッセージに設定する (2008-02-25)
- ColdSync (2004-05-05)
■ Term::ReadLine で GNU Readlineを使う。

Term::ReadLine を使ってみたのだが、ヒストリ機能も行編集機能も働かない。あれ?
で調べたらTerm::ReadLine::Gnu がはいっていないせいだった。 インストールしたらあっさり解決。
CPANモジュールのシェルも同様で使い勝手が悪かったのだが、これも合わせて解決。
- bundle を作成して Perl モジュールをまとめてインストール。 (2004-10-21)
- WiKicker の Makefile.PL を Module::Inst... (2006-02-10)
- [ Perl ] PDL 2.4.1 から eigens が固有ベクトルを... (2004-03-05)
- WiKicker 0.37 リリース - 主に添付関連の機能を改良 (2006-09-05)
- 最新の Module::Install は Perl 5.005_03 ステ? (2006-04-29)
スポンサード リンク
■よく検索されるキーワード
提案書(75) torrent(69) perl(61) 書き方(45) 充電式カイロ(43) windows(38) x31(36) 使い方(32) linux(32) cvs(25) アジェンダとは(25) usb(25) thinkpad(23) 静電気(21) サンプル(20) 口コミ(20) ヨドバシ(20) アジェンダ(20) 画像(19) debian(19) ubuntu(19) mp980(18) f-01a(18) 手帳(17) tc-1(17) 秋葉原(16) ssh(16) subversion(16) グッズ(16) a6(15) 壁紙(15) ほぼ日手帳(15) c#(14) ダイソー(14) svn(14) 交換(14) インストール(13) 加湿器(13) firefox(12) ノート(12) 無印(12) 日本語(12) wiki(12) ganttproject(12) デロンギ(11) 方眼(11) ヨドバシカメラ(11) デザイン(11) nikkor(11) 設定(11) 作り方(11) dropbox(11) af(10) terastation(10) memcached(10) レビュー(10) カバー(10) カイロ(10) 2009(10) 除去(10) nikon(10) tortoisesvn(10) クラリチン(9) ガントチャート(9) 動画(9) ポメラ(9) ご査収(9) rcs(9) モジュール(9) n-01a(9) フィルム(9) 写真(9) システム手帳(9) edition(9) porter(9) xp(8) imap(8) 4c(8) docomo(8) ミニ6穴(8)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.136241s / load averages: 0.19, 0.29, 0.27
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク