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

読了まで:約1分


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


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

やり方がわかったのは

  • Template Toolkit
  • Mojo::Template
  • Text::MicroMason

の三つ。

  • 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

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。