Perl数据处理与文档编写实用指南
一、YAML模块变体
1.1 YAML版本兼容性
YAML有三个常见版本,且它们不一定相互兼容。解析器(和编写器)针对特定版本,若用一个版本创建YAML文件,再用另一个版本解析,可能会出现问题。例如,YAML 1.0允许将未加引号的破折号“-”作为数据,而YAML 1.1及更高版本则不允许。这在使用旧的转储器创建多个文件,再用新的解析器解析时会引发问题。
1.2 不同YAML模块
- YAML::Syck :基于libsyck,可处理YAML 1.0,但不支持YAML 1.1。
- YAML::LibYAML :包含YAML::XS。Kirill Siminov的libyaml可说是最佳的YAML实现,其C库严格按照YAML 1.1规范编写,最初绑定到Python,后来绑定到Ruby。对于大多数情况,推荐使用YAML::XS。
- YAML::Tiny :用纯Perl处理YAML 1.1的一个子集。与其他::Tiny模块一样,它没有非核心依赖项,安装时不需要编译器,向后兼容Perl 5.004,如有需要还可内联到其他模块中。如果没有复杂需求,希望占用空间小或依赖项最少,那么这个模块很适合。
二、MessagePack
2.1 简介
MessagePack格式与JSON类似,但更小、更快。它是一种序列化格式,在大多数主流语言中都有实现,就像一个更智能的跨平台包。可使用Data: