Пакет Storable в Perl. Сохранение сложных структур данных в файлы

Пакет Storable позволяет сохранять сложные структуры данных на диске, в файлы.

Очень удобно, если учесть, что одной из сильных сторон Perl является именно работа с файлами и текстом. В некоторых случаях этот подход может полностью устранить необходимость работы с БД.

Несколько простых примеров работы со Storable. Методы nstore, nstore_fd и lock_nstore в данном тексте не рассматриваются.

 

Методы store и retrieve

Рабочий пример:

 

Методы store_fd и fd_retrieve

Можно использовать вместо прямого обращения к файлу файловые дескрипторы.

Пример записи структуры данных в файл:

Пример извлечения структуры данных из файла:

 

Методы lock_store и lock_retrieve

Методы lock_store и lock_retrieve - делают ту же работу, что и методы store и retrieve. Отличие заключается в том, что методы "lock_" блокируют файл от стороннего доступа на время выполнения своей работы.

 

Методы freeze и thaw

Storable предоставляет 2 интересных метода: freeze и thaw. На русский это перевести сложно. Если дословно, то получится "заморозка" и "разморозка".

Метод freeze получает хэш и сохраняет его в скалярную переменную, как обычную строку текста. Получившийся блок данных можно куда-нибудь сохранить, передать другому процессу, а в нужный момент применить thaw и восстановить сложную структуру данных.

 

Метод dclone

Метод позволяет осуществлять глубокое (рекурсивное) копирование (или клонирование - как больше нравится) сложных структур данных.

 

Полезная ссылка

search.cpan.org: Storable-2.21

Пакет Storable в Perl. Сохранение сложных структур данных в файлы: 1 комментарий

Комментарии запрещены.