Perl и YAML. Примеры использования модуля Config::YAML

Что такое YAML?

YAML — это формат данных, ориентированный на работу со сложными структурами данных. Имеет очень простую, интуитивно понятную систему разметки. В основном, используется как формат для конфигурационных файлов.

Пример конфигурационного файла, в формате yaml:

И еще один пример:

 

Примеры использования модуля Config::YAML

Config::YAML - это объектно-ориентированная обертка вокруг модуля YAML. Делает работу с конфигурационными файлами очень простой и удобной.

Модуль Config::YAML позволяет использовать методы read и write, для чтения yaml-структуры из файла и ее записи в файл. Метод read вызывается при создании объекта Config::YAML.

Кроме того, Config::YAML предоставляет два метода для работы с элементами структуры данных: get_[param] и set_[param].

  • get_[param] - получает значение заданного элемента из yaml-структуры
  • set_[param] - задает значение указанному элементу в yaml-структуре

Чтение yaml-файла

Исходное содержимое конфигурационного файла right.yaml:

Пример 1

Пример perl-кода для чтения yaml-файла:

Результат работы скрипта:

Пример 2

Помимо исходных данных, считанных из yaml файла и преобразованных в сложную структуру данных, модуль Config::YAML добавит в эту сложную структуру еще несколько записей служебного характера. Подобные записи имеют ключ с префиксом из знака подчеркивания (например, '_infile').

Можно отфильтровать подобные записи с помощью конструкции:

Результат:

Пример 3

После того, как yaml-файл прочитан, можно обращаться к его элементам, как к обычной сложной структуре данных:

Вывод скрипта:

Пример 4

Еще один пример обращения к элементам структуры данных:

Результат:

 

Создание файла yaml из сложной структуры данных

Содержимое файла yaml_dump.txt после записи:

 

Полезные ссылки

Википедия: YAML
search.cpan.org: Описание модуля Config::YAML