手軽にモジュールのバージョンを得る perl -MDBIx::Class\ 999

$ perl -MDBIx::Class\ 999 DBIx::Class version 999 required--this is only version 0.07002. BEGIN failed--compilation aborted.

なるほど、こうすれば手軽にモジュールのバージョンを得られるのか。(バージョン指定のuse)

自分の使ってるマシンではaliasでモジュールのバージョンを求めるの設定してるのでいらないけど、そうじゃないところで使うのによさそう。

by typester / at 2006-10-08T10:39:00 / perl / Comment

Changelogmemo一周年

昨日で、Changelogでメモを取り出してから一年がすぎた。

エントリ数1320、clmemo.txtのファイルサイズ349KB。

そろそろブログも再開しよう。

by typester / at 2006-10-08T04:05:00 / life · clon / Comment

これはひどい、のか?

と言及を受けました。いやひどくないですごめんなさい。そうだなぁ、エスケープしてないのがおかしいんだものな。

でもまぁ日本語までエスケープされるのは困るわけで。

Text::Textile なんかも同じように日本語もエスケープしちゃうけど、オプションで charset('utf-8') とかできて、こうするとutf8文字はエスケープしなくできる。

こういうの欲しいなー。

by typester / at 2006-10-08T03:30:00 / perl / Comment

HTML::TreeBuilderいいんだけど。。

escape関係が微妙なんだよなぁ。

use strict;
use warnings;

use HTML::TreeBuilder;

my $html = 'K&C and K&C';

my $tree = HTML::TreeBuilder->new;
$tree->parse($html);
$tree->eof;

print $tree->as_XML;

これで帰ってくるのは

<html><head></head><body>K&#38;C and K&#38;C</body></html>

これはひどい。

unsafeなものだけescapeしてsafeなものはしないので、escapeがソースとはずれてしまう。

& だけじゃなくて <>やマルチバイト系全部こうなる。

Plaggerでは HTML::Element::_xml_escape を上書きして対応してるけど、ちょろっと使う場合にいつもそれを書くはめんどいので、

$tree->parse( encode_entities($html, '&') );

とか、&を余分にエスケープしてからパースさせるようにして

decode_entities( $tree->as_XML );

とかして取り出している。

ものすごくBKです。なんとかならんかなぁ。

by typester / at 2006-10-08T01:49:00 / perl / Comment