Perl Config :: IniFiles-如何创建“如果不存在” ini文件? WriteConfig方法因错误而失败

问题描述

我想使用多个.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');上一直失败。

我可以使用此模块创建文件,还是必须以其他方式进行处理?

解决方法

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