これはひどい、のか?
と言及を受けました。いやひどくないですごめんなさい。そうだなぁ、エスケープしてないのがおかしいんだものな。
でもまぁ日本語までエスケープされるのは困るわけで。
Text::Textile
なんかも同じように日本語もエスケープしちゃうけど、オプションで charset('utf-8')
とかできて、こうするとutf8文字はエスケープしなくできる。
こういうの欲しいなー。
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&C and K&C</body></html>
これはひどい。
unsafeなものだけescapeしてsafeなものはしないので、escapeがソースとはずれてしまう。
& だけじゃなくて <>やマルチバイト系全部こうなる。
Plaggerでは HTML::Element::_xml_escape
を上書きして対応してるけど、ちょろっと使う場合にいつもそれを書くはめんどいので、
$tree->parse( encode_entities($html, '&') );
とか、&を余分にエスケープしてからパースさせるようにして
decode_entities( $tree->as_XML );
とかして取り出している。
ものすごくBKです。なんとかならんかなぁ。
subtechグループ - Bulknews::Subtech - [Perl] Dumping variables Everywhere without use()
なるほどー! dumpたしかにつかったことない。。
しかし、ビルドイン関数って上書きは出来るけど追加は出来ないんかなぁ。
subtechグループ - ピンク ブロッサム ダイアリー - P
みんな use Data::Dumper; dumper $obj; って書いてるのかなぁ。
めんどいよね。これは前から思っていて、はての君のP的アプローチも考えたのだけど、結局useするのがめんどい。
perl -MP
とかするだけでロードされたすべてのモジュールでp関数がexportされればいいのに。
それってできないのかなぁ。
CPANPLUS
daily dayflower - Encode::Detect 入らない
ところが今日別のマシンで CPANPLUS を使ったらなぜかインストールできました。きちんとログをとってなかったんで違いはわかりませんが,ディストリビューションをインストールできる方法がわかりました。
CPANPLUS最新にすれば自動でインストールログ取ってくれるよ!
unary op
my $foo = ('a', 'b', 'c'); print $foo; # => c
となるのをいまさら知った on IRC
そういえば、リスト返してくる関数で普通に $ret = func_returns_array();
とかしてはまったことがあるのを思い出した。
perldoc -f scalar
するとのっているが scalar オペレータは単項演算子なので、リストが渡されても最後のものしか評価しないようだ。ほほーん。
そしてそこに載っている例キモイ。
30boxes.pl
miyagawaさんの30boxes.plを試すために久々に使ってみる。
なんかすげ進化ってるわぁ。API key ってなによ?! ってぐらいの。
Date::Manip
メモ。 あと ExtUtils::MakeMaker::prompt
。勉強になるすなぁ。