タグ

PerlとTemplateに関するblueleのブックマーク (2)

  • XS code template - 動的にXSUBを生成する - エキスパートPerl - Perl-users.jp

    XSコードはふつうPerlコードよりも多機能で高速ですが,書くのが難しいため敷居が高いことも事実です。また,いちいちコンパイルしなければならないのも煩わしい点です。 ところで,Perlにはクロージャという仕組みがあり,動的にコードを生成することができます。したがって,XSでクロージャに等しいことを実現できれば,XSコードの煩わしさを避けつつXSの利益を享受することができます。 なお,この文書はXSによるコード例を解説していますが,XSそのものについては解説しません。 XSについてはperlxstutやperlxs,perlapiを参照してください。 クロージャの分析 まず,Perlのクロージャを分析します。Perlのクロージャは以下のようなものです。 sub make_accessor{ my($name) = @_; return sub{ $_[0]->{$name} }; } my

  • Text::Template::Compact

    Text::Template::Compact は テキストベースのテンプレート展開モジュールです。 主にHTMLベースの文書を対象にしていますが、他の状況でも使用可能です。 ソーステキストに埋め込んだ制御タグを実行時に指定したパラメータで展開して、ファイルまたは文字列に出力します。 特徴 perl 5.8.3 以降で使用可能です。標準モジュール以外の依存関係はありません。 制御タグの見た目は ${...} および ${%...} です。 変数展開、条件分岐、繰り返し、ブロック定義、eval をサポートします。 テキストは全てUnicodeで処理します。use utf8; な環境で正しく動作します。 ソースの読み込み、パラメータの参照、ファイル出力時のそれぞれに異なる文字コード変換を設定可能です。 変数展開や条件分岐の内部で、多くの演算子をサポートしたデータ参照式を記述できます。 頻出する

    bluele
    bluele 2011/07/30
    テキストベースのテンプレート展開モジュール
  • 1