libcsv 1.0.0、Text::CSV::LibCSV 0.10リリース


http://sourceforge.net/forum/forum.php?forum_id=671902
http://search.cpan.org/~jiro/Text-CSV-LibCSV-0.10/


libcsv メジャーバージョンリリース。

libcsvのインターフェースを変更してもらった。
libcsv使ってた方はスミマセンがインターフェースが変わってるので注意です。

コールバックに任意のデータを渡せないのが不便だったので、voidポインタを受け渡しできるようにしてもらった。


で、オブジェクト指向なインターフェースが作れるようになったので早速実装した。
従来のインターフェースはもちろんそのまま使えるけど、

my $parser = Text::CSV::LibCSV->new;
$parser->parse($data, $callback);
$parser->parse($fh, $callback);
$parser->parse_file($file, $callback);

も出来るように。parseを何回も呼ぶ場合は前より速いと思う。

1回だけのパースは若干遅くなったけど、それでもまだText::CSV_XSの倍ぐらいは速い。


ストリームからパースできるようにはなってない。
将来的にはってことで終わったので、まぁ作者のやる気次第ってとこだろう。

今はparse_fileとかはいったん全部読み込んでる。
正直意味ないんだけど、まぁお手軽インターフェースってことで。

向こうで実装されたらこっちも対応する予定。