Skip to content

TTerse TT2Compatibility.ja

Fuji, Goro edited this page Nov 12, 2011 · 3 revisions

TTerseとTT2との互換性

このページはTTerseとTemplate-Toolkit(TT2)の互換性について解説します。

INCLUDE

INCLUDEの引数はかならずダブルクォートで囲んでください。 たとえば、[% INCLUDE foo.tt %][% INCLUDE "foo.tt" %]はTT2では同じ意味になりますが、TTerseでは異なります。 TTerseでは前者は変数fooのプロパティttを参照しますが、後者はファイル"foo.tt"をINCLUDEします。

また、INCLUDEに引数を与える場合、TT2ではWITHキーワードを省略できますが、TTerseでは必須となっています。

FOREACH

TT2ではFOREACH文でINキーワードのかわりに=を使うことができますが、TTerseでは許されません。 FOREACH文は常に[% FOREACH item IN array_ref %]と書かなければなりません。

また、TT2ではハッシュリファレンスをFOREACHで反復することができますが、TTerseでは配列リファレンスのみ使用できます。 ハッシュリファレンスはkeys()/values()/kv()メソッドなどで配列リファレンスに変換してFOREACHに渡してください。

スコープ

TT2ではマクロや変数はグローバルなシンボルですが、TTerseではレキシカルです。

なお、マクロについてはOURキーワードでグローバルシンボルとして定義できるよう変更予定です。

キーワードのケース

TT2ではデフォルトでは大文字のキーワードしか受け付けませんが、TTerseでは小文字のキーワードも受け付けます。

一行コード

TTerseでは%%で始まる行もテンプレートコードとして解釈します。

SEE ALSO