4

データベースから引き出しているいくつかの文字列があり、それらに対して Template Toolkit を使用したいのですが、文字列を TT 入力として使用する方法がわかりません。任意のヒント?

ありがとう!

-fREW

4

3 に答える 3

11

ドキュメントでは次のように説明されています。

process($template, \%vars, $output, %options)

テンプレートを処理するために process() メソッドが呼び出されます。最初のパラメーターは、入力テンプレートを次のいずれかとして示します。定義されている場合は、INCLUDE_PATH に関連するファイル名。テンプレート テキストを含むテキスト文字列への参照。...

       # text reference
       $tt->process(\$text)
           || die $tt->error(), "\n"
于 2008-11-24T17:52:30.810 に答える
4

ドキュメントから:

# text reference
$text = "[% INCLUDE header %]\nHello world!\n[% INCLUDE footer %]";
$tt->process(\$text)
    || die $tt->error(), "\n";

(投稿する前にページを更新する必要があったようです。)

于 2008-11-24T18:03:23.097 に答える
2

String::TTは、それを行うより良い代替方法として見つかるかもしれません。ポッドからのいくつかのティーザー...

use String::TT qw/tt strip/;

sub foo {
   my $self = shift;
   return tt 'my name is [% self.name %]!';
}

sub bar {
   my @args = @_;
   return strip tt q{
      Args: [% args_a.join(",") %]
   }
}

と...

my $scalar = 'scalar';
my @array  = qw/array goes here/;
my %hash   = ( hashes => 'are fun' );

tt '[% scalar %] [% scalar_s %] [% array_a %] [% hash_h %]';
于 2008-11-24T19:50:35.127 に答える