タグ

ブックマーク / ido.nu (3)

  • ピヨピヨ ZeroMemory( ) » Blog Archive » Data::DumperでUTF-8フラグつき文字列をエスケープさせないようにするには

    変数の中身を表示してくれるperlのCPANモジュール、Data::Dumperは、UTF8フラグのついているデータがエスケープされて文字化け状態になってしまうため、UTF8で日語を扱う時に困る。でもそもそもUTF8フラグがついていなければエスケープされることもなくて困らないのはなんで?というわけでソースを読むと Data::Dumper::qquote() というメソッドの中で、文字列をエスケープする条件に my $bytes; { use bytes; $bytes = length } s/([^\x00-\x7f])/'\x{'.sprintf("%x",ord($1)).'}'/ge if $bytes > length; というトリッキーなコードが入っていた。UTF-8フラグがついていると、UTF8の文字列が正しく文字として認識されてlengthがバイト数よりも小さくなるので

  • Firebug 1.2 ‘console’ implementation 和訳 « ku

    Firebug - Web Development Evolved » Blog Archive » Firebug 1.2 ‘console’ implementationの和訳です。 実装はソースコードに書いてあるのそのまま(あたりまえ)。webページに書かれてある悪意あるコードを特権つきで実行しないようにするための細工だっていうことがわかったところが収穫でした。 FF3betaでFirebugの1.1のコマンドが動かなくなりました。これを直すのがすごい難しくてコマンドラインとコンソールを作り直す必要がありました。はじめにコンソールについて書いて、次回コマンドラインの実装について書きます(訳注:けっきょく2008.5.16現在まだ書かれてないです)。 Firebugの’console’を使ってWeb開発者はテキストやオブジェクトをFirebugのコンソールパネルに出力することができます

  • perlのxpathコマンド « ku

    XPathを書いたときに、そのXPathがうまくマッチしてくれるかどうかを調べるのは少し面倒です。FirefoxにFirebug(いつの間にか日語のページが…)が入っていればコマンドラインで$xを使って $x( '//span/ancestor::div[last()]' ) というように調べられますが、HTMLファイルにして読み込ませないといけないのと、Firefoxが勝手にtableとtrの間にtbodyを補完してしまうので //table/tr/td[last()] みたいなXPathはマッチしなくて不便です。 いままでperlHTML::TreeBuilder::XPathを使って #!/usr/bin/perl use strict; use warnings; use HTML::TreeBuilder::XPath; my $tree = HTML::TreeBuilde

    pipehead
    pipehead 2007/07/24
    XML::XPath
  • 1