Какой модуль использовать для хранения маленьких файлов кэша в Perl?

Я написал сценарий, который должен сохранить маленький промежуток последовательности пробеги. Какой модуль CPAN я мог использовать, чтобы сделать процесс максимально простым? Идеально я хотел бы что-то как:

use That::Module;
my $static_data = read_config( 'script-name' ); # read from e.g. ~/.script-name.data
$static_data++;
write_config( 'script-name', $static_data ); # write to e.g. ~/.script-name.data

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

0
nl ja de

4 ответы

Просто используйте Storable для портативного постоянства структур данных Perl и Файл:: HomeDir поскольку портативная "общая конфигурация помещает" открытие:

use File::HomeDir;
use FindBin qw($Script);
use Storable qw(nstore);

# Generate absolute path like:
# /home/stas/.local/share/script.pl.data
my $file = File::Spec->catfile(File::HomeDir->my_data(), "$Script.data");

# Network order for better endianess compatibility
nstore \%table, $file;
$hashref = retrieve($file);
1
добавлено
There' s много различных Ose и мест, чтобы хранить эти файлы в там, который является почему я don' t хотят сделать ту часть самостоятельно.
добавлено автор Andreas, источник
Извините, я haven' t заметил, что вам также нужен портативный путь к определению места хранения. Отредактированный мой ответ, чтобы удовлетворить лучше вашей потребности!
добавлено автор creaktive, источник

Может быть это может помочь вам - http://www.stonehenge.com/merlyn/UnixReview/col53.html. Но я думаю, что вы не можете избегать использования работы с файлами и справочниками.

0
добавлено

Если это - просто единственная последовательность (например, 'abcd1234'), просто используйте нормальный файл и напишите ему с , открытым .

Если вы ищете что-то немного более продвинутое, смотрите на Конфигурация:: Простой или JSON:: XS. Conifg:: Простой имеет его собственную функцию, чтобы выписать к файлу, и JSON может просто использовать равнину , открытый .

0
добавлено
There' s много различных Ose и мест, чтобы хранить эти файлы в там, который является почему я don' t хотят сделать ту часть самостоятельно.
добавлено автор Andreas, источник

Самый легкий способ, которым я знаю, как сделать это (вместо того, чтобы катиться вручную) состоит в том, чтобы использовать DBM:: Глубоко.

Каждый раз, когда я отправляю об этом модуле, я получаю посты ненависти, отвечающие что ее слишком медленный, поэтому, пожалуйста, не делайте этого.

0
добавлено
Modern::Perl
Modern::Perl
362 участник(ов)

Пожалуйста, представьтесь при добавлении в группу. Это необходимо во избежание спам-ботов. Ваше первое сообщение не должно быть ссылкой или репостом. Мы всегда рады нестандартным вопросам.

use Perl or die;
use Perl or die;
164 участник(ов)

Группа о языке Perl и обо всём что с ним связано.

pro.perl
pro.perl
22 участник(ов)

Язык программирования Perl