2011-01-19 57 views
3

我对Perl和YAML相当陌生。我想从YAML文件中读取,并且编辑/写入一些属性值而不用重写整个配置文件(保留现有注释,空行,空格等)。用Perl就地编辑YAML文档

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

回答

2

您无法轻易写入文件的一部分 - 您将最终重写整个文件。如果你写了一个部分文件,你必须寻找一个开始位置,截断文件到那个长度(或截断然后寻找/追加),然后在没有改变的开始之后写入文件的新尾部。文件系统不支持“在偏移量193删除329字节并在结果偏移227后插入46个字节”等操作。

如果您的YAML模块(库)以某种方式保留或提供了主要评论和空白行,那么您将能够轻松保留它们。如果不是,那么你可能必须自己完成这项工作 - 阅读并保存注释行,然后使用YAML解析文件,然后编写保留的注释和替换YAML。

+0

好的..谢谢队友......而且你对错别字有浓厚的兴趣! :) – 2011-01-19 18:25:59