Robię skrypt Perla, który musi odczytać i uzyskać wartości pliku INI.Perl: Iterowanie poprzez pliki INI
INI File Format:
[name]
Property=value
Przykład:
[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
...
Jak widać, nie może być dowolna ilość odcinków, które zawierają dowolną liczbę parametrów. Nazwy sekcji/parametrów będą zawsze różne.
To, co muszę zrobić, to sprawdzić, czy mój skrypt Perla przechodzi przez każdą sekcję i uzyskać wszystkie nazwy/wartości parametrów tej sekcji. Co ja jestem przyzwyczajony do robienia z plikami INI jest po prostu podając nazwę sekcji wraz z nazwą parametru jak ten:
#!/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};
Jednak teraz, że mam nieokreślony ilość sekcji Nazwy/parametrów, jak również ponieważ nie znając ich nazw, nie potrafię wymyślić sposobu na wyodrębnienie wszystkich wartości. Rozglądałem się przy module Config :: IniFiles i ma on kilka interesujących rzeczy, ale nie mogę znaleźć sposobu na uzyskanie wartości parametru bez znajomości nazwy sekcji/parametru.
Jeśli ktoś może mi pomóc w iteracji przez ten plik INI, byłoby to bardzo cenne.
Dziękuję.
Dziękuję bardzo, dokładnie tego właśnie szukałem. – user1300922