トップ 最新 追記

どんぞこ日誌

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|07|08|12|
2007|01|04|08|12|
2008|01|02|03|04|06|07|08|10|11|12|
2009|01|02|04|05|06|07|08|09|11|12|
2010|01|03|04|07|08|10|11|12|
2011|01|02|03|04|05|06|07|08|10|12|
2012|01|02|03|05|06|07|08|09|10|
2013|01|02|07|08|09|
2014|08|09|
2015|08|
2016|06|07|12|
2017|01|03|08|
2018|03|
2022|03|
2023|03|
2024|02|07|10|

同人関連(どんぞこ楽屋) | 旧い雑文   


■2007-12-07

* [Perl][近況] 新バージョンのText::CSVB!

 私、春頃にText::CSVの新しいメンテナになったのですが、先日ようやくバージョン0.1から1.0にアップしました。
 何が変わったかというと、今まで単体で動作してたのをやめて、Text::CSV_XSかText::CSV_PPに処理を移譲するようにしました。(今後Text::CSV_PPはText::CSVに同梱)

 Text::CSVといえばASCIIキャラしか扱えなかったため、マルチバイトで利用しようと思ったらこれまではText::CSV_XSかText::CSV_PPを使うというのが定番だったかと思います。新バージョンはデフォルトでText::CSV_XSを利用します。そしてText::CSV_XSがインストールされていなければバンドルされているText::CSV_PPを利用します。

  というわけで、今後はText::CSVをインストールするだけでText::CSV_XSと同等の処理ができるようになり、さらにText::CSV_XSがインストールされていればスピードも早くなるという寸法です。

 CPANモジュールでText::CSV_XSないしText::CSV_PPを利用されている方がいらっしゃいましたら、ぜひText::CSVへの切り替えをご検討ください。

* [Perl][近況] CPANのJSONもバージョンアップB!

 なお、近々JSONの新バージョンを出しますが、こちらも同様にJSON::XSかJSON::PPに処理をさせるようになります。
  Perlライクな命名でないと一部で評判の悪かった関数jsonToObjやobjToJsonはobsoletedします。$JSON::AUTOCONVとかの変数も全部無くなるよ! というか旧バージョンと全く互換性が無くなるの。

* [Perl][雑感] JSON::PPのround-tripB!

 これみてたら、メモしておきたくなったので。
  JSON::XSはPerlの数値1と文字列"1"に応じてJSONへの変換を分けているのですが、これをJSON::PPで実装するのに

 my $b_obj = B::svref_2object(\$value);
 my $flags = $b_obj->FLAGS;
 return $value if (
    (    $flags & B::SVf_IOK or $flags & B::SVp_IOK
      or $flags & B::SVf_NOK or $flags & B::SVp_NOK
      ) and !($flags & B::SVf_POK )
  ); # SvTYPE is IV or NV?
 .... 

てなことをやってたり。以前はこんな風に生の値でやってたんですが、Perl 5.9.4とかで値が変わってたりもするので今はB::*使ってます。Perl 5.005だと無かったりしますが(なので自分でガシガシ書いておく)。

[]

■2007-12-19

* [Perl] JSON 2.0B!

 JSONのバージョンが2.0になりました。今後はバックエンドモジュールとしてJSON::XSがデフォルトで利用されます。無い場合は同梱されているJSON::PPで。
 特徴としては、Unicode handlingが適切、round-tripの整合性(例えばPerl文字列"2.0"がJSONの2になったりしない)、JSON::Syckより速い(JSON::XSがあれば)などなど。objToJsonjsonToObjはまだ存在しますが、warning出すようになってます。

 JSON->new->ascii->allow_nonref
     ->encode(chr 0x10401)
  # => "\ud801\udc01"
 
 $perl_scalar = from_json($json_text, {utf8 => 1});

また、JSONRPC関連はJSON::RPCに移動してます。

[]

■2007-12-30

* [近況] マルチ中毒 vol.3B!

 コミケうかりました。社会評論系……じゃないのか? たぶんアニメ関連です。 もちろん、私の書いた部分は、もう何が何だかわからないものになりました。31日西よ45aでお待ちしております。あいかわらずぎりぎりですいません。vol1. vol.2もありますので、この機会にぜひ!
 それではまた来年〜

[]