Thread Datei auslesen und best. pattern in hash speichern (16 answers)
Opened by Duff at 2007-01-16 19:43

Duff
 2007-01-16 19:43
#73282 #73282
User since
2006-10-06
283 Artikel
BenutzerIn

user image
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:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
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

View full thread Datei auslesen und best. pattern in hash speichern