【问题标题】:Editing YAML documents in-place with Perl使用 Perl 就地编辑 YAML 文档
【发布时间】:2011-01-19 12:37:24
【问题描述】:

我对 Perl 和 YAML 还很陌生。我想从 YAML 文件中读取数据,并在不重写整个配置文件的情况下编辑/写入一些属性值(保留现有的 cmets、空白行、空格等)

我在 Perl 中使用 YAML 库。实现这一目标的好方法是什么?

【问题讨论】:

    标签: perl yaml


    【解决方案1】:

    你不能轻易地写文件的一部分——你最终会重写整个文件。如果您确实编写了部分文件,则必须查找起始位置,将文件截断到该长度(或截断然后查找/追加),然后在未更改的开始后写入文件的新尾部。文件系统不支持“删除偏移 193 处的 329 字节并在结果偏移 227 后插入 46 字节”等操作。

    如果您的 YAML 模块(库)以某种方式保留或提供前导 cmets 和空行,那么您将能够轻松地保留它们。如果没有,那么您可能必须自己完成这项工作 - 读取并保存注释行,然后使用 YAML 解析文件,然后编写保留的 cmets 和替换 YAML。

    【讨论】:

    • 啊好的..谢谢伙计...你确实对错别字有敏锐的眼光! :)
    猜你喜欢
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    相关资源
    最近更新 更多