Hallo,
ich habe folgendes Problem. Ich habe eine Datei, in der einzelne Abschnitte sind. Aus diesen Abschnitten möchte ich bestimmte zeilen in (eigentlich nur 2) speichern.
Ich möchte es so machen, dass die erste gefundene Zeile mein Schlüssel ist und die zweite gefundene Zeile mein Wert ist.
Dazu habe ich folgendes gemacht:
...
open(FILE, "<", $file)
while($z = <FILE>) {
if ($z =~ <mein pattern>) {
$key=$1;
chomp $key;
}
if ($z=~ <mein 2. pattern>){
$value=$1;
chomp $value;
}
$hash{$key}=$value;
}
close(FILE)
Dass ganze funktioniert auch soweit, wenn ich mir z.B. key und value in der while-Schleife ausgeben lasse.
Wenn ich mir aber in einer foreach $k (keys %hash) ... den Hash ausgeben lasse, so erhalte ich nur einen Schlüssel mit dem dazugehörigen Wert. Nämlich den letzten, der in der Datei gefunden wurde.
Wieso sehe ich nicht alle?
Der hash kann doch eigentlich nicht überschrieben werden, oder?\n\n
<!--EDIT|Duff|1168969439-->
D'OH
Daniel