Template - Perlのコードを埋め込んだテンプレートを扱うモジュール
Perl のコードとテンプレートを分離するのに便利なモジュール。 テンプレートの適切な箇所に Perl のコードを埋め込むことで、 Perl からの変数を参照できる。
use Template;
# 典型的な使い方 $tmpl = Template->new($templatefile); $out = $tmpl->out(\%var, \%nvar);
# デコードのみ $out = Template->new($templatefile)->out(undef, undef, decodeonly => 1);
$tmpl = Template->new($file, %opt);
OPTION :
decoded => BOOLEAN # true ならばデコードを行わない
tmpdir => STRING # モジュール内部で使うテンポラリディレクトリ
escapecode => CODE # nvar から var を生成するときに使うコード
Templateオブジェクトを返す。
$opt{escapecode} が省略された場合は、'&', '<', '>', '``' を '&', '<', '>', '"' に変換するフィルタが適用される。
print $tmpl->out($var, $nvar, %opt);
ARGS :
var => HASHREF # $nvar, $var で参照できる値
nvar => HASHREF # $nvar のみで参照できる値
OPTION :
decodeonly => BOOLEAN # デコードのみ
テンプレートを出力する。 var, nvar で指定された値は、テンプレート中の変数 $nvar で参照できる。 さらに、var で指定された値がエスケープされたものが、 テンプレート中の変数 $var で参照できる。
$tmpl->decode();
OPTION :
file => STRING # ファイル名
forbid => HASHREF # 埋め込むと無限ループになるテンプレート
# (内部処理用)
import => BOOLEAN # true ならば インポートされたファイル
テンプレートファイルから Perl のコードを生成する。 テンプレートファイルを埋め込むときには、再帰的に呼び出される。
$out = $self->_replica_var($in, $filter);
ARGS :
$in => REF # 変数
filter => CODEREF # フィルタ
RET : REF # $out の複製
変数の複製を作る。 変数が配列やハッシュへのリファレンスの場合は、 参照先を辿って複製を作る。 ただし、ARRAY, HASH, GLOB, SCALAR, REF へのリファレンス以外の リファレンスの場合は、 (完全な複製ではなく)リファレンスそのものを単にコピーする。
IO::File
Copyright (C) 2002 The Nagoya University Consumers' Co-operative Association
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the following URL for more details: http://www.gnu.org/licenses/gpl.txt
Written by Kenji Nakahira <nakahira@coop.nagoya-u.ac.jp>