#file #perl #config #ini
#файл #perl — язык программирования #конфигурация #ini #perl #config
Вопрос:
Я хочу использовать несколько файлов .ini для хранения наборов значений, которые я получу позже, когда я повторно запущу скрипт (например, после перезагрузки). Я пытаюсь написать свой код таким образом, чтобы он сначала проверял, существует ли конкретный файл .ini, и если да, то считывал значения, но если нет, то создавал его (скрипт впоследствии продолжит сохранять в нем значения).
if (-f '/path/to/file.ini') { # if file exists
# read file into object
my $ini = Config::IniFiles->new(-file => '/path/to/file.ini',
-nomultiline => 1, -fallback => 'parameters', -commentchar => ';'
);
} else {
# create first instance of ini file
WriteConfig('/path/to/file.ini');
}
Очевидно, я не понимаю, как использовать Config::InFiles
потому что он продолжает выходить из строя WriteConfig('/path/to/file.ini');
.
Могу ли я создать файл с помощью этого модуля, или я должен сделать это другим способом?
Ответ №1:
WriteConfig
является объектным методом и будет вызываться как $ini->WriteConfig(...);
Это создает новый файл:
use warnings;
use strict;
use Config::IniFiles;
my $ini = Config::IniFiles->new();
$ini->AddSection('section1');
$ini->newval('section1', 'param1', 123);
$ini->WriteConfig('./file.ini');
Файл file.ini
теперь содержит:
[section1]
param1=123