Hi,
[quote=pearl-man,21.02.2006, 11:21]zur Laufzeit neue Hashes mit variablen Bezeichnern bestimmen.[/quote]
ich habe das in der Art realisiert: (War zugegebenermaßen das 1. mal :) )
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
37
38
39
40
41
42
43
44
#
# Die ini-Datei hat folgenden Aufbau:
# [Funktionsbereich]
# Initialisierungsbereich start_wert end_wert
#
[...]
my $tmp = "";
my $i = 0;
my $range = {};
if(! open(INI, "<".$inifile))
{
&logit("Could not open $inifile! Exiting.");
close(LOG);
exit(5);
}
else {
my @ini = grep { ! /^[#\s]/ } <INI>; close(INI);
foreach(@ini) {
chop($_);
if($_ =~ /^\[(.*)\]$/) {
$tmp = $1;
$i = 0;
}
else {
$_ =~ /^(.*)\s+(.*)\s+(.*)$/;
$range->{$tmp}[$i] = [$1,$2,$3];
$i++;
}
}
}
#
# Später dann der Zugriff:
#
foreach my $key ( keys %{$range} ) {
foreach ( @{ $range->{$key} } ) {
# do something with $_->[1]
# do something with $_->[2]
}
}
#
# Oder: $range->{'Initialisierungsbereich'}[1]
#
-uw