nesugi.net/diary

0015215
過去の日記

2005-06-17

[web]ココログのatom 00:17

プログラムのバグ出しをしていたら、[ココログ]の出力しているatom.xmlがなんかおかしいらしいということが判明。

各entry要素のcontentに、普通のatom*1では「<content type="text/html" mode="escaped" ... >」という感じで書いてあるんだけど、cocologでは、この形で書いてあるentryと、「<content type="application/xhtml+xml" ... >」と書いてあるentryが混在してるみたい。ちなみに、mode=escapedと書いてあるentryの中身はCDATAで囲まれているんだけど、mode=escapedになってない方はCDATAになってないみたい。

で、atom的にはどちらを使うのが正しいのか、もしくは両方正しいのかよくわからないのだけど、比較的メジャーっぽいPerlモジュールのXML::Atomでは、mode=escapedになってないentryに書かれている日本語は文字実体参照に変換されてしまうみたい。どうしたもんかね・・・

[TIPS]今日のPerl 05:12

Perlのことは全然わからないので、今日使った中でこの先使えそうなものだけをメモ。

  • LWP::Simpleをuseして、$html=get($url)とかすると、$htmlにHTTPでGETした中身が入る
  • 出力のバッファリングをやめるのは、$|=1
  • 文字実体を元に戻すのは、use HTML::Entitiesして、$text=decode_entities($content)
  • UTF8フラグというのがあって、その文字列がUTFの時にはこのフラグが立っている(utf8::is_utf8($var)で確認可能)
  • フラグを立てるにはutf8::decode($var)、フラグを消すにはutf8::encode($var)
  • 変数$varのポインタは、\$varって感じに、頭に\をつける
  • ポインタを実体に戻すには、${\$var}みたいに、{ }でくくる?
  • ポインタから直接メンバ*2にアクセスするには、->を使うみたい

ってか、最後の方のやつは、perlの入門本でも読めば載ってそうだけど。というか、俺のラクダ本、一度も開かないまま、誰かにパクられたんですが・・・誰が持ってったんだろ。こうなるとちょっと返して欲しい。

それにしても、ほんとにPerlやりたくないんだからさ、勘弁してよ・・・

*1 MTとか?

*2 hashのときだけ?

お名前:
E-mail:
コメント:
本日のリンク元
その他のリンク元
検索

ご意見ご感想はadmin@mail.nesugi.netまで。