使用Perl就地编辑YAML文档
我对Perl和YAML相当陌生。我想从YAML文件中读取数据,并在不重写整个配置文件的情况下编辑/写入一些属性值(保留现有注释、空行、空格等)使用Perl就地编辑YAML文档,perl,yaml,Perl,Yaml,我对Perl和YAML相当陌生。我想从YAML文件中读取数据,并在不重写整个配置文件的情况下编辑/写入一些属性值(保留现有注释、空行、空格等) 我正在Perl中使用YAML库。实现这一点的好方法是什么?您不能轻易地编写文件的一部分-最终将重写整个文件。如果您确实编写了一个部分文件,则必须查找到起始位置,将文件截断到该长度(或先截断,然后查找/追加),然后在未更改的起始位置之后写入文件的新尾部。文件系统不支持诸如“删除偏移量193处的329字节并在产生的偏移量227后插入46字节”之类的操作 如果
我正在Perl中使用YAML库。实现这一点的好方法是什么?您不能轻易地编写文件的一部分-最终将重写整个文件。如果您确实编写了一个部分文件,则必须查找到起始位置,将文件截断到该长度(或先截断,然后查找/追加),然后在未更改的起始位置之后写入文件的新尾部。文件系统不支持诸如“删除偏移量193处的329字节并在产生的偏移量227后插入46字节”之类的操作
如果您的YAML模块(库)以某种方式保留或提供了引导注释和空行,那么您将能够轻松地保留它们。如果没有,那么您可能需要自己完成这项工作—读取并保存注释行,然后使用YAML解析文件,然后编写保留的注释和替换的YAML。ah ok。。谢谢你,伙计。。。而且你对拼写错误也有敏锐的眼光!:)