次のような INI ファイルを読み取る perl スクリプトがあります。
[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 変数は明らかに期待どおりに動作していません。
誰かが私を助けてくれるか、少なくとも正しい方向に向けることができれば、それは大歓迎です.
ありがとうございました。