Syntax

Methods

new

new時のオプションについては Config を参照して下さい。

process

実行時に指定する引数は4つあります。

  • 入力元
  • パラメーター
  • 出力先
  • オプション

オプションは、new時のオプションを実行時に変更する為のものです。
実行時オプションは基本的に上書きです、また、process完了後は破棄されます。
詳しくは Config をご覧下さい。

入力元

入力元に指定出来る引数は3種類あります。

ファイル名

$input = "index.tt";
$t = Template::Like->new( $input, $param, \$output );

ファイルハンドル

open my $fh, $filename;
$t = Template::Like->new( $fh, $param, \$output );
close $fh;

スカラーリファレンス

$input = "<html>...</html>";
$t = Template::Like->new( \$input, $param, \$output );

パラメーター

ハッシュリファレンスを指定します、オブジェクトでも構いません。

my $input = "index.tt";
my %in = CGI->new->Vars;
my $param = { CGI => { params => \%in } };
Template::Like->new->process( $input, $param, \$output );
close $fh;

出力先

出力先に指定する出来る引数は6種類あります。
スカラーリファレンス, リストリファレンス, ファイルハンドルの3つの場合
既に存在するテキストに付け加える形で出力されます。

スカラーリファレンス

my $output;
$t->process($input, $param, \$output);
print $output;

リストリファレンス

my @output = ("Content-type: text/html", "");
$t->process($input, $param, \@output);
print join "\n", @output;

ファイル名

my $output = "index.html";
$t->process($input, $param, $output, { OUTPUT_PATH => "public_html" });

ファイルハンドル

my $output;
open $output, "| /usr/sbin/sendmail -t -f from\@example.com";
$t->process($input, $param, $output); # 内部的にはprint $fh $string;
close $fh;

コードリファレンス

$t->process($input, $param, sub { print $_[0] });

Apache2::RequestIO 又は Apache::Request のインスタンス

package SomeHandler;

sub handler : method {
  my ($class, $r) = @_;

  ...

  $t->process($input, $param, $r);