Maik: Datei-Handling

Servus zusammen,

ich bin grad was am überlegen.
Und zwar habe ein Datei mit ca. 1000 Zeilen.
Nun will ich die Zeile 500 auslesen.
BIs jetzt hab ich das so gemacht

Datei öffnen
@file = DATEI;
$file[499] = meine gewünschte Zeile.

Jetzt ist die Frage, ob das auch irgendwie besser geht, denn so lese ich ja immer die ganze Datei ein, obwohl ich ja nur die eine Zeile brauche ?

Danke für Tipps.

cu
Maik

  1. Servus zusammen,

    ich bin grad was am überlegen.
    Und zwar habe ein Datei mit ca. 1000 Zeilen.
    Nun will ich die Zeile 500 auslesen.
    BIs jetzt hab ich das so gemacht

    Datei öffnen
    @file = DATEI;

    ^     ^

    $file[499] = meine gewünschte Zeile.

    Jetzt ist die Frage, ob das auch irgendwie besser geht, denn so lese ich ja immer die ganze Datei ein, obwohl ich ja nur die eine Zeile brauche ?

    Du musst die Datei einlesen, um herauszufinden, wo denn diese ominöse Zeile 500 ist. Du kannst dir aber die 500 letzten sparen, ein einfaches

    my $i = 1;
      while (<DATEI>)
      {
        next unless $i++ == 500;
        # $_ verarbeiten und while verlassen
      }

    genügt da.

    1. Hi,
      erstmal thx.
      Aber mit der Lösung bin auch nicht wirklich zufrieden, denn so geh ich ja wieder 499 Einträge umsonst durch ...
      Gibts da nix besseres ?

      cu
      Maik

      1. Hi,

        Gibts da nix besseres ?

        ja, 'ne Datenbank. Deswegen wurden die Dinger erfunden.

        Cheatah

        1. ja, 'ne Datenbank. Deswegen wurden die Dinger erfunden.

          Ok, ich werte dies als ein Nein.

          Danke.
          Maik

          1. Hallo,

            ja, 'ne Datenbank. Deswegen wurden die Dinger erfunden.

            Ok, ich werte dies als ein Nein.

            Eher als ein 'it depends'. Und zwar haengt es davon ab, ob du genau
            weisst, wie lang deine Zeilen sind. Wenn ja, dann kannst du mit seek()
            arbeiten. Wenn nein, dann gibt es auch keine Moeglichkeit.

            Gruesse,
             CK