2011-01-19 55 views
3

我對Perl和YAML相當陌生。我想從YAML文件中讀取,並且編輯/寫入一些屬性值而不用重寫整個配置文件(保留現有註釋,空行,空格等)。用Perl就地編輯YAML文檔

我在Perl中使用YAML庫。什麼是實現這一目標的好方法?

回答

2

您無法輕易寫入文件的一部分 - 您將最終重寫整個文件。如果你寫了一個部分文件,你必須尋找一個開始位置,截斷文件到那個長度(或截斷然後尋找/追加),然後在沒有改變的開始之後寫入文件的新尾部。文件系統不支持「在偏移量193刪除329字節並在結果偏移227後插入46個字節」等操作。

如果您的YAML模塊(庫)以某種方式保留或提供了主要評論和空白行,那麼您將能夠輕鬆保留它們。如果不是,那麼你可能必須自己完成這項工作 - 閱讀並保存註釋行,然後使用YAML解析文件,然後編寫保留的註釋和替換YAML。

+0

好的..謝謝隊友......而且你對錯別字有濃厚的興趣! :) – 2011-01-19 18:25:59