我是Perl和YAML的新手。我想从YAML文件中读取,还可以编辑/写入一些属性值,而无需重写整个配置文件(保留现有注释,空白行,空格等)。
我在Perl中使用YAML库。什么是实现这一目标的好方法?
答案 0 :(得分:2)
你不能轻易写出部分文件 - 你最终会重写整个文件。如果您确实编写了部分文件,则必须寻找起始位置,将文件截断为该长度(或截断然后搜索/追加),然后在未更改的开始之后写入文件的新尾部。文件系统不支持诸如“在偏移量193处删除329个字节并在生成的偏移量227'后插入46个字节的操作。
如果您的YAML模块(库)以某种方式保留或提供前导注释和空白行,那么您将能够轻松地保留它们。如果没有,那么你可能必须自己完成这项工作 - 阅读并保存注释行,然后使用YAML解析文件,然后编写保留的注释和替换的YAML。