カラクリスタ

「輝かしい青春」なんて失かった人のブログ

Perl Template Engineでのテンプレートのコンパイルの仕方

概要: Perl のテンプレートエンジンでのテンプレートのコンパイル方法をまとめて見る。


なんというかなんとなくまとめてみた。

やり方がわかったのは

の三つ。

  • HTML::Template
  • HTML::Mason

コンパイル方法が見つけられなかった。

なんというか、HTML::Template はどうもなさそうで、 HTML::Mason は多分方法があるんだろうけど良く分からないって言う。

で、以下やり方。

Template Toolkit

use Template;
my $tt = Template->new;

my $compiled = $tt->context->template( $source );

Mojo::Template

use Mojo::Template;
my $mt = Mojo::Template->new;

$mt->parse( $source )->build->compile;

Text::MicroMason

use Text::MicroMason;
my $mm = Text::MicroMason->new;

my $compiled = $mm->compile( $type => $source );

まとめた感想。

Perl でテンプレートを扱うときって言うのは、アプリケーションの実行時にはテンプレートを変更せず、 変数だけをごにょごにょするってのが大半だろうから、テンプレートあらかじめコンパイルしておいて使い回せば、 ある程度の速度改善が望めるんじゃないかと思ってたりする。

まあ高速なテンプレートエンジンだとコンパイルして使いまわしてもそうは速度が変わらないだろうけど、 コンパイルに時間のかかるテンプレートエンジンだとそれなりに速度改善が見込めるんじゃないかな。

まあでもテンプレートエンジンによってはテンプレートをコンパイルする方法が無かったりするので、 使ってるテンプレートエンジンによるだろうけど。

で、コンパイルする方法を調べてて思ったんだけど、こういうのって Wiki とかにまとめた方が良いよなぁと思ったり。 Blog に書くと後で見なくなったりしそうだし、書いたことを忘れちゃいそうでもあるし。

まあ何の参考になるかわからないけど、何かの参考になれば。

FIXME