Поздний ответ, но я обнаружил, что AppConfig может быть запущен несколько раз.
Чтобы опубликовать свои файлы, я переместил все свои логины / пароли в configfile.ini.secret и оставил пример логинов / паролей в configfile.ini
$config->define("configFile=s", {DEFAULT=>$dirname."/eversolar.ini"});
$config->args();
// Configfile must exist
-e $config->configFile or die "Configfile '", $config->configFile, "' not found\n";
// read configfile
$config->file($config->configFile);
pmu_log("Severity 3, Configfile is: " . $config->configFile . "\n");
// Look for secret file
$config->configFile($config->configFile.".secret");
if (-e $config->configFile) {
$config->file($config->configFile);
pmu_log("Severity 3, Configfile is: " . $config->configFile . "\n");
}
Вместо простого кодирования .secret, вы можете последовательно соединить файлы, указав имя следующего файла в предыдущем.
Что-то вроде (и синтаксис perlвозможно неправильно)
$configFile = $config->configFile;
while (-e $configfile) {
$config->configFile(""); //do not read any more files
$config->file($configFile); //after this one.
$configFile = $config->configFile; // unless the next one is set in this
}
Или вы можете поместить файлы в каталог config.d и обработать все в алфавитном порядке.