# Perl: シリアライズ/デシリアライズする ## CPANモジュール逆引きガイド データをやり取りする際に必要になるのがシリアライザ/デシリアライザである。 ### バイナリエンコーダ * {{cpan: Storable}} * {{cpan: Data::MessagePack}} * {{cpan: Sereal}} ### テキストエンコーダ * {{cpan: JSON::XS}} / {{cpan: JSON}} * {{cpan: YAML}} / {{cpan: YAML::Syck}} * {{cpan: XML::TreePP}} / {{cpan: XML::Simple}} / {{cpan: XML::LibXML}} * {{cpan: MIME::Base64}} * {{cpan: Data::Dumper}} ### マルチエンコーダ(デコーダ) * {{cpan: Data::Encoder}} ### 比較指標 シリアライザ/デシリアライザの比較指標としては以下のようなものが挙げられる。 * 速度(速い方がいいよね!) * データ量(小さい方がうれしいね!) * 変換できるデータ種(案外はまりどころ!) * ヒューマンリーダブル(バイナリ系は不利ですね!) ### 落とし穴 * バージョン互換性のない場合 * 他言語との互換性のなさ