シリアライザ
Storable
- 常に同じシリアライズ結果にできる ($Storable::canonical)
- 可読性なし
- データサイズ大
- データ形式が Perl 限定 (Ruby でもパースできるという噂が)
- bless 状態を保持できる
Data::Dumper
- 常に同じシリアライズ結果にできる ($Data::Dumper::Sortkeys = 1)
- 可読性あり
- データ形式が Perl 限定
- bless 状態を保持できる
JSON::XS
- 常に同じシリアライズ結果にできる ($json->canonical(1))
- 可読性あり
- バイト列を保存できない
- JSON の仕様上文字列しかないのでバイト列を保存したければ Base64 したりしなくてはいけなくて使いにくい
- Storable よりは早い
Data::MessagePack
- 常に同じシリアライズ結果にできる ($mp->canonical(1))
- データサイズ小
- バイナリ
- 可読性ほぼなし (Storable と違って文字列は読める)
- 早い