Thread korrektes Auslesen von Daten aus einem File
(4 answers)
Opened by ajcountry at 2008-07-31 16:26
Ich denke du machst es dir unnötig schwer. Durch das auftrennen des Lesens aus der Datei in verschiedene Subs ist es schwer zu erkennen, was wo genau passiert.
Ich hab mal ein Beispiel geschrieben, wie ich das ganze in eine verschachteltes Array packen würde: Code (perl): (dl
)
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 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @tables; while (<DATA>){ chomp; next if m/^\|/; if (m/^\[Wertetabelle\d\]/){ # neue Tabelle anlegen push @tables, []; } elsif (m/^\[Zeile\]/) { # neue Zeile anlegen push @{$tables[-1]}, []; } else { # Daten reinschaufeln: push @{$tables[-1][-1]}, [split]; } } print Dumper \@tables; __DATA__ [Wertetabelle1] | [Zeile] A1 3.227 A2 1.127 A3 -1.471 [Zeile] B1 6.684 B2 1.054 ... Ich vermute, dass das Problem mit deinem Lösungsansatz ist, dass du in der while-Schleife eine Zeile liest, und die in der for-Schleife nicht weiterverwendest sondern einfach eine neue Zeile ausliest. |