Внешнее хранение хеш-данных в Perl - PullRequest
1 голос
/ 10 мая 2011

В настоящее время я работаю над рефакторингом скрипта, который опирается на три хэша (простые хэши), инициализированные в начале скрипта.В целом, эти значения хеш-функции занимают более ста строк в скрипте.Чтобы улучшить читабельность и чистоту кода, следует ли хранить эту информацию вне скрипта и читать информацию в начале?Сами данные должны быть в основном статичными (отдельные записи, возможно, придется менять время от времени).

Если да, как бы я хранил его в базе данных / предлагаемом носителе?(Я нуб, когда дело доходит до SQL).

Ответы [ 3 ]

3 голосов
/ 11 мая 2011

Похоже, у вас есть данные конфигурации. В книге Mastering Perl есть глава , в которой обсуждается несколько вариантов.

3 голосов
/ 11 мая 2011

Я бы, вероятно, использовал что-то вроде JSON или один из форматов, поддерживаемых Config :: Any . Для простых отображений, вероятно, будет достаточно формата INI. Я склонен использовать JSON для более сложных сценариев.

1 голос
/ 10 мая 2011

Я бы не стал хранить его в отдельном файле или базе данных только потому, что это замедлит вашу программу без веской причины.Просто переместите существующий код инициализации в отдельный файл constants.pl, и в вашем главном файле требуется «constants.pl»

. Не забудьте изменить объявление ваших хэшей с

my
на
our
это видно по файлам.
...