我有一个 perl 脚本正在读取这样的 INI 文件:
[placeholder_title]
Hostname = 127.0.0.1
Port = 161
我为此使用的库是 Config::Tiny。
通常在读取ini文件时,我会有这样的东西:
$Config = Config::Tiny->read( 'configfile.ini' );
my $Hostname_property = $Config->{placeholder_title}->{Hostname};
现在我有一个案例,配置文件中的部分标题是由用户决定的,所以我不完全知道它是什么。
在我实际上在配置文件中有多个部分之前,所以我会像这样遍历它们:
foreach my $Section (keys %{$Config}) {
my $Hostname_property = $Config->{$Section}->{Hostname};
my $Port_property = $Config->{$Section}->{Port};
但是如果我总共只有 1 个部分呢?
是否有一个特定的关键字可以用来代替部分名称?
我已经从前面的示例中尝试过类似的循环逻辑,如下所示:
$Config = Config::Tiny->read( 'configfile.ini' );
my $Section = keys %{$Config};
my $Hostname_property = $Config->{$Section}->{Hostname};
print $Hostname_property, "\n";
但是后来我收到一个错误,表明 $Hostname_property 没有初始化,所以我的 $Section 变量显然没有做我希望它做的事情。
如果有人可以帮助我或至少为我指明正确的方向,将不胜感激。
谢谢你。