Hi himu,
gut, das sieht doch schon recht gut aus!Ein paar kleine Anmerkungen:
- use strict; - das ist guter Stil und hilft später, Fehler zu finden
- $$value kann man benutzen, aber siehe 1 (das wird brutal unübersichtlich.
- Dazu sind Hashes wie gemacht, sie erlauben z.B. auch, mehrere Unterschlüssel unter einem Server zu haben - könnte ja mal nötig werden.
- einige RegExes kann man direkt mit einer Zeile abhandeln
Hier ist der Code:
#!/usr/bin/perl -wuse strict;
my %config;
my $srv;
#open(SERVER, "server.ini")or die " Kann Serverdatei nicht finden: $!\n";
my @ini_arr = <DATA>;
chomp @ini_arr;
#close(SERVER);
foreach my $read (@ini_arr) {
if ( $read =~ m/\[/ ) {
$read =~ s/[\[\]\s]//g;
print $read, "\n";
$srv = $read;
}
else {
my($key, $value) = $read =~ m/^\s*([\w.]+)\s*=\s*(.*)$/;
$config{$srv}{$key} = $value;
}
}
print $config{'SRV1.bla.com'}{'user'}; # oder entsprechend
__DATA__
[SRV1.bla.com ]
user=kunibert
[SRV2.bla.com ]
user=klaus
nochwas = vielleicht wichtiges
Gruss,
svenXY
Datum: 14.12.2005-09:55
