Hatena::ブログ(Diary)

Islands in the byte stream

2011-02-11

Xslate 1.0006 released!

リリースしました。

1.0001から1.0006の間には後方互換性を破壊する変更はなく、バグフィクスと小さな機能追加のみです。SEGVを起こすバグや非常に分かりにくいエラーメッセージを吐くバグも修正されているのでアップデートをお勧めします。

また、1.0006から追加されたText::Xslate->print()メソッドを使うと、エラーメッセージをテンプレート内に出力することができます。なお、このprint()はテンプレート内部の出力同様、スマートエスケープが適用されます。

#!perl -w
use strict;
use Text::Xslate;
my %vpath = (
    hello => 'Hello, <: $lang :> world!' . "\n",
);
my $tx = Text::Xslate->new(
    cache        => 0,
    path         => \%vpath,
    verbose      => 2,
    warn_handler => sub { Text::Xslate->print('[[', @_, ']]') },
);

print $tx->render('hello', { lang => "Xslate" });
print $tx->render('hello', { });
__END__

出力:

Hello, Xslate world!
Hello, [[Text::Xslate: Use of nil to print (&lt;string&gt;:1) at example/err_handler.pl line 15
]] world!