Sto creando uno script Perl che deve leggere e ottenere i valori di un file INI.Perl: Iterating attraverso i file INI
INI File Format:
[name]
Property=value
Esempio:
[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
...
Come si può vedere, non ci può essere qualsiasi quantità di sezioni, che contengono un numero qualsiasi di parametri. I nomi dei nomi/parametri delle sezioni saranno sempre diversi.
Quello che devo fare è far scorrere il mio script Perl in ogni sezione e ottenere tutti i nomi/i valori dei parametri di quella sezione. Quello che mi sono abituato a fare con i file INI viene semplicemente specificando il nome della sezione insieme al nome del parametro in questo modo:
#!/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};
Tuttavia, ora che ho una quantità indefinita di sezione Nomi/parametri, come pure come non conoscendo i loro nomi, non riesco a capire un modo per estrarre tutti i valori. Stavo guardando il modulo Config :: IniFiles, e ha alcune cose interessanti, ma non riesco a trovare un modo per ottenere un valore di parametro senza conoscere il nome della sezione/parametro.
Se qualcuno mi può aiutare con l'iterazione di questo file INI, sarebbe molto apprezzato.
Grazie.
Grazie mille, questo è esattamente quello che stavo cercando. – user1300922