Locale::Maketext::Simple, Decode => 1 しても utf8 strings にならない

use strict; use warnings; use utf8;

use Locale::Maketext::Simple(
    Path   => 'lib/MyApp/I18N',
    Decode => 1,
);

loc_lang('ja');
my $foo = loc('foobar');

if (utf8::is_utf8($foo)) {
    print "utf8\n";
}
else {
    print "bytes\n";
}

で、bytesに。

あーなんでだーー。

と思ったら、poファイルの先頭に

msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"

とかかいたら utf8 になった。

これは、なに。

by typester / at 2007-02-22T02:40:00 / perl · i18n / Comment

perl-debug

とか言うパッケージがあったのか!!!!>Debian

いままでソースからわざわざ別の場所に入れてたよー。あー。

by typester / at 2007-02-20T00:19:00 / perl · debian / Comment

Catalyst::Plugin::Firebug

とか言うのを書いた。

ロードしておくとDebugモードのときに出力htmlに自動でFirebug liteのコードが埋め込まれるというやつ。

でも激しくDISられたので、ActionClassにしてリリースしなおす予定。うう><

by typester / at 2007-01-25T23:58:00 / perl · catalyst / Comment

あけましておめでとうございます!

今年初良いことは、DBICのinflate_result上書きによるサブクラス化を知ったことです!

うおおやっべぇ便利すぎる。

詳しくは

DBIx::Class::Manual::Cookbook - Miscellaneous recipes - search.cpan.org

参照のこと。

知らなかったなぁ。いつから使えたのか。

by typester / at 2007-01-01T03:54:00 / perl · dbic / Comment

もしかして typo? 機能

typoというか、

$c->redirect

とか

$c->uri_with

とか間違えて使って実行してエラーになってからあぁって思って気づくの、うぜぇええ。

書いてるときにリアルタイムに

もしかして: $c->req->uri_with ?

みたいにおしえてほしい><

by typester / at 2006-12-30T18:29:00 / perl · catalyst / Comment

BindLex

使い始めると、なしではめんどくてやってられなくなっちゃうなぁ。。うーむ。

by typester / at 2006-12-14T22:27:00 / perl / Comment

--keeperr カワユス

いままでlightyのはく微妙にみにくいstderrで開発してたけど、最近myapp_fastcgi.plに追加されたkeeperrに以降。

見やすいな、やっぱw

by typester / at 2006-12-12T17:13:00 / perl · catalyst / Comment

ダサい解決法

package MyProvider;
use base qw/Template::Provider/;

sub _load {
    my ($data, $error) = shift->SUPER::_load(@_);

    if ($data && $data->{text}) {
        $data->{text} =~ s/(\[%[ ]+INCLUDE[ ]+["'])(.+)(["'].*?%\])/$1common:$2$3/;
    }

    ($data, $error);
}

とかいう適当なProviderをつくってcommon側はこれを指定したら動いた。け、ど、だせえええええ。

パッケージ化するかなぁ。

ダサいのでもっとうまい方法でやりたいんだけど。

by typester / at 2006-11-29T15:58:00 / perl · tt / Comment

MultiProviderの話

CLON - 2006/11/27 - 複数のアプリで共通のテンプレートファイルを使う

これ、 [% INCLUDE 'common:foo.tt' %] とかしたとき、さらに foo.tt の中で [% INCLUDE 'bar.tt' %] とすると common:bar.tt がインクルードされてほしいのだけどそうはならないのがびみょい。

これ用の Template::Context 作ればいいきがするけど、Templateのソース読むのだるぃ。。

by typester / at 2006-11-29T13:58:00 / perl · tt / Comment

複数のアプリで共通のテンプレートファイルを使う

にはどうしたらいいのかなーとおもってTemplateのdocを眺めていたら

my $tt = Template->new({
    LOAD_TEMPLATES => [
        Template::Provider->new( INCLUDE_PATH => '/path/to/myapp/templates' ),
        Template::Provider->new( INCLUDE_PATH => '/path/to/common/templates' ),
    ],
    PREFIX_MAP => {
        default => 0,
        common  => 1,
    },
});

こんな感じでやれば、

[% INCLUDE 'common:header.tt' %]

ってやれば2個目のProviderが使われるようだ。なるほど。

0とか1とかはLOAD_TEMPLATESの配列の添え字を渡すみたい。。

ちなみにTemplate::FAQにのってる。

by typester / at 2006-11-27T17:08:00 / perl · tt / Comment

8 9 10 11 12 13 14 15 16 17

(Page 12 of 30)