Ich habe mir auch noch etwas anderes überlegt...
Mein Anzatz beginnt beim Auslesen der Konfig-Datei...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# ganz simples Auslesen...
my $defines = {};
open DEF,'<','./defines.cfg' or die $!;
my $sect;
while (<DEF>) {
if (/^\[(\w+)\]/) {
$sect = $1;
} elsif (/^(\w+)\s=\s(\d+)$/) {
# ich erzeuge sofort ein Array mit der Reihenfolge der Keys
$defines->{$sect}->[$2] = $1;
}
}
close DEF;
my $datadir = "$stats->{TimeStamp}->{Date}";
unless (-e $datadir) {
mkdir($datadir) or die $!;
}
foreach my $alias (keys %$stats) {
next if $alias eq 'TimeStamp';
my $file = "$datadir/$alias";
my $data = $stats->{$alias};
sysopen my $fh,$file,O_WRONLY | O_APPEND | O_CREAT,0644 or die $!;
flock($fh,LOCK_EX);
print $fh $stats->{TimeStamp}->{Time};
foreach my $key (@{$defines->{$alias}}) {
# if $key, weil die ersten Elemente leer sein können
print $fh " $data->{$key}" if $key;
}
print $fh "\n";
close $fh;
}
Datenhash und Konfig sind im ersten Thread zu sehen...\n\n
<!--EDIT|opi|1146841042-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.