Редактирование документов YAML на месте с помощью Perl - PullRequest
3 голосов
/ 19 января 2011

Я довольно новичок в Perl и YAML.Я хотел бы читать из файла YAML, а также редактировать / записывать некоторые значения свойств без перезаписи всего файла конфигурации (с сохранением существующих комментариев, пустых строк, пробелов и т. Д.)

Я использую библиотеку YAMLв перл.Каков был бы хороший способ достичь этого?

1 Ответ

2 голосов
/ 19 января 2011

Вы не можете легко написать часть файла - в итоге вы переписываете весь файл. Если вы написали частичный файл, вам нужно будет искать начальную позицию, обрезать файл до этой длины (или обрезать, а затем искать / добавлять), а затем записывать новый хвост файла после неизменного начала. Файловые системы не поддерживают такие операции, как «удалить 329 байтов со смещением 193 и вставить 46 байтов после результирующего смещения 227».

Если ваш модуль (библиотека) YAML каким-либо образом сохраняет или делает доступными ведущие комментарии и пустые строки, то вы сможете легко их сохранить. Если нет, то вам, вероятно, придется выполнить работу самостоятельно - прочитать и сохранить строки комментариев, затем использовать YAML для разбора файла, затем написать сохраненные комментарии и замену YAML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...