你好 jonny,
Mal abgesehen davon, dass ich das anders loesen wuerde,
ich bin keinesfalls abgeneigt, einen Tipp von dir entgegen zu nehmen.
Du musst ja die richtige[tm] Reihenfolge gar nicht wissen, lies doch einfach
die Datei komplett neu ein und ueberschreibe das alte. Das gibt dir mehr
Freiheit beim Design der Datenstrukturen, dann kannst du mit Arrays und so
arbeiten. Mal ein kleiner Beispiel-Code:
sub get_conf {
my $file = shift;
my $conf = {};
my $sect = '';
local *DAT;
open DAT,'<',$file or do {
print STDERR "Could not open file $file: $!";
return;
};
while(my $line = <DAT>) {
if($line = /^\s*\[\s*(\w+)\s*\]) {
$sect = $1;
next;
}
if($line =~ /^\s*(\w+)=(.*)$/) {
$conf->{$sect||'global'}->{$1} = $2;
next;
}
$sect = '' if $line =~ m!\[/\]!;
}
close DAT;
return $conf;
}
Beim Reload machst du jetzt einfach $conf = get_conf("filename")
,
wobei $conf
die Konfigurations-Variable ist. Schon
hast du kein Problem mehr mit irgendwelchen Abgleichen.
Ausserdem: 你好
Was heißt das? Hallo?
Genau.
再见,
CK
--
89,7% aller Statistiken sind frei erfunden!
89,7% aller Statistiken sind frei erfunden!