Разделение данных конфигурации и логики скрипта в скриптах 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 вы бы порекомендовали для решения этой проблемы? Зачем?

Ответы на вопрос(8)

Ваш ответ на вопрос