Hallo Cruz!
split lines into arrays
$l=0;
foreach $line (@lines) {
Die Elemente von @lines werden nach und nach $line zugewiesen. Änderungen an $line ändern die Elemente im Array !!!
Das folgende chomp zum Beispiel.
chomp($line);
»» $i=0;
»» for ($i=0;$i<$columns;$i++) {
»» (${$headers[$i]}[$l],$line)=split(/\t/,$line,2);
Hier wird nach und nach $line an den Tabulatoren aufgetrennt. Immer ein Element in das Array für die entsprechende Spalte und der Rest wieder nach $line. So wird $line Stück für Stück kürzer - bis es schließlich leer ist!!!
»» }
$l++;
} # end foreach @lines
Und siehe da... @lines ist nach diesem Algorithmus leer! $test enthält jede Menge
»» s, also ist @lines immer noch ein langes Array, aber wo sind die Inhalte hingekommen?
Wie gesagt, Stück für Stück gelöscht. Die Inhalte liegen nun in Arrays. Das Array @headers enthält pro Spalte ein Array. Dieses Spalten-Array enthält wiederum für jede Zeile ein Element ...
Auf der Suche nach einer Antwort
Ich hoffe, daß Du jetzt fündig geworden bist ;-)
Jörk