Christian Kruse: Offsetadessen der Dateizeilen einlesen

Beitrag lesen

Hallo Sebastian,

Zunächst mal: du hast 'use strict;' vergessen. Entsprechend hast du auch die ganzen my
vergessen.

open(DATAIN, "<../guest.data");
@Daten = <DATAIN>;

Hier ist der Datei-Zeiger bereits am Ende der Datei angekommen. Deshalb...

$hexoffset[0] = tell(DATAIN);
while(<DATAIN>)
  {
  $i++;
  $hexoffset[$i] = tell(DATAIN);
  }
close(DATAIN);

Wird die Schleife auch nie durchlaufen. Besser so:

open DATAIN, '<', '../guest.data' or die $!;
my @offsets = (0);

while(<DATAIN>) {
  push @offsets,tell(DATAIN);
}

close DATAIN;

@offsets enthält dann die Datei-Adressen der Zeilen. Brauchst du gleichzeitig auch noch
alle Zeilen der Datei, musst du sie halt per push() in einen zweiten Array packen oder so.

Grüße,
 CK

--
Ihr wisst nicht, wie man den Menschen dient. Wie sollt ihr wissen, wie man den Goettern dienen soll?