构建发行版后两个单独的 META 文件的目的是什么?



构建新的发行版时,会生成 2 个元文件。一个使用 YAML 格式,另一个使用 JSON。据我所知,这些仅由其他CPAN客户端或其他想要访问元文件的应用程序使用(无论出于何种原因)。我试图推理为什么应用程序需要访问两者......

这两种格式是否纯粹是为了方便而单独生成? 即开发人员 1 更喜欢 JSON,因此编写他的应用程序以读取发行版 META.json 文件,而开发人员 2 讨厌 JSON,宁愿使用 YAML 版本?

或者,我忽略的单个客户端/应用程序是否需要一些技术原因?

原因是CPAN元规范有两个版本,较新的版本指定JSON而不是YAML。保留 YAML 文件是为了保持与期望它们的旧工具的兼容性,但将来的任何元数据功能都将添加到 JSON 版本中。

David Golden在他的博客文章中对从YAML到JSON的更改进行了一些讨论,宣布了规范的第2版。