首页 > 解决方案 > 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');.

我可以用这个模块创建一个文件,还是我必须用另一种方式来做?

标签: fileperlconfigini

解决方案


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

推荐阅读