Perl:Перебор INI-файлов

Я делаю Perl-скрипт, который должен читать и получать значения INI-файла.

Формат файла INI:

[name]
Property=value

Пример:

[switch_6500]
cpu=1.5.1.12.4
free_memory=1.45.32.16

[oracle_db_11g]
param1=value1
param2=value2
param3=value3
param4=value4
...

Как видите, может быть любое количество разделов, содержащих любое количество параметров. Названия разделов/параметров всегда будут разными.

Что мне нужно сделать, так это заставить мой Perl-скрипт выполнить итерацию по каждому разделу и получить все имена/значения параметров этого раздела. Что я привык делать с INI-файлами, так это просто указывать имя раздела вместе с именем параметра, как это:

  #!/usr/bin/perl -w

  use strict;
  use warnings;
  use Config::Tiny;

  # Read the configuration file
  my $Config = Config::Tiny->new();
  $Config = Config::Tiny->read( 'configfile.ini' );
  my $Metric1_var = $Config->{switch_6500}->{cpu};
  my $Metric2_var = $Config->{switch_6500}->{free_memory};

Однако теперь, когда у меня есть неопределенное количество имен разделов/параметров, а также я не знаю их имен, я не могу найти способ извлечь все значения. Я искал модуль Config::IniFiles, и в нем есть кое-что интересное, но я не могу найти способ получить значение параметра, не зная имени раздела/параметра.

Если кто-нибудь может помочь мне с повторением этого INI-файла, я буду очень признателен.

Спасибо.

5
задан user1300922 29 March 2012 в 14:22
поделиться