Data::MessagePack 0.35_1 renewal!
バイナリデータシリアライズフォーマットMessagePackのPerl実装であるData::MessagePackがインターフェイスを一新したり新機能を追加したりしてJSON.pmからの移行がしやすくなりました*1。
具体的には以下のように変わっています。
- pack/unpackのエイリアスとしてencode/decodeをサポート
- インスタンスを作れるようになった
- プロパティのサポート(今のところprefer_integer/canonical/utf8のみ)
特にインスタンス化とプロパティのサポートにより、いままでグローバル変数$Data::MesagePack::PreferInteger
で制御していた整数優先packingが次のように書けます。
# 旧スタイル(今でも可能だが非奨励) { local $Data::MessagePack::PreferInteger = 1; my $packed = Data::MessagePack->pack($data); } # 新スタイル { my $mp = Data::MessagePack->new; $mp->prefer_integer(1); my $packed = $mp->encode($data); }
またJSON.pm互換インターフェイスのサポートにより、実際のコードでの比較がしやすくなりました。正規版をリリースしましたらぜひ新しいインターフェイスをお試しください。