Разделение данных конфигурации и логики скрипта в скриптах Perl
Я обнаружил следующий антишаблон, повторяемый в моих скриптах Perl: скрипт содержит некоторые специфичные для машины / настройки настройки, которые я храню в скрипте как встроенные константы, тогда как остальная часть скрипта носит общий характер:
#!/usr/bin/perl
use strict;
use warnings;
# machine specific settings at the start of the script.
my $SETTING_1 = "foo";
my @SETTING_2 = ("123", "456");
my $SETTING_3 = "something";
# general part of script follows.
...
Этот шаблон несколько нормален при работе на одной машине, но как только я хочу распространить скрипт на несколько машин, начинается проблема, так как я должен следить за тем, чтобы не перезаписывать часть настроек новыми обновлениями в общей части.
Правильное решение, очевидно, состоит в том, чтобы иметь один общий файл сценария и прочитать его файл конфигурации, специфичный для среды, в которой выполняется сценарий.
Мой вопрос:Какой модуль CPAN вы бы порекомендовали для решения этой проблемы? Зачем?