Patrick Andrieu: String Zeilenweise durchlaufen

Beitrag lesen

Hallo Siechfred!

Seit einer viertel Stunde blinkt der Cursor... »Oktober_2007.txt« besteht aus 309514 Zeilen.
Die größte Textdatei, die ich hier gefunden habe, hat knapp 80.000 Zeilen. Wende ich darauf Tie::File an, dauert es eine gefühlte Sekunde und ich habe über den Array vollen Zugriff auf alle Zeilen. Irgendwas scheint da bei Dir nicht zu stimmen, denke ich.

Keine Ahnung, was Tie::File an meiner »Oktober_2007.txt« nicht mag. Aber so baut man sich einen Ruf als Tester:

Man nehme die »fehlende.txt«, die ja aus 10 Log-Zeilen bestand, und kopiere immer wieder den Inhalt neu.

100000 Zeilen -> kein Problem
200000 Zeilen -> kein Problem
300000 Zeilen -> kein Problem (Reaktionszeit zur Ausgabe der letzten Zeile: ca. 9 sek.)

Okidoki. Man benenne die Datei in Oktober_2008.txt um -> kein Problem

Man nehme wieder die echte Datei Oktober_2007.txt -> blinkender Cursor.
Man benenne die Oktober_2007.txt als nervnet.txt um -> blinkender Cursor.
Man nehme die November_2007.txt (293478 Zeilen) -> blinkender Cursor.
Man nehme die September_2007.txt (269969 Zeilen) -> blinkender Cursor.

Blinkender Cursor: für die Zeit, die ich brauche, einen oder zwei Forumsbeiträge zu lesen. Dann breche ich mit [Strg] + [C] ab. Ach übrigens: Gibt Perl die Meldung: »Terminating on signal SIGINT(2)« oder kommt sie vom Betriebssystem? ;)

Man muss editpad.exe über den Taskmanager killen, nach dem der Versuch, den Inhalt von November_2007.txt in fehlende.txt zu kopieren, fehlschlägt, lese zwischendurch Struppis Hinweis mit dem Zeilenumbruch, stellt fest, dass diese in der Tat mit dem UNIX-Zeilenumbruch enstanden sind, will das ändern, muss wieder EditPad killen, weil keine Rückmeldung, hat keine Lust mehr und wendet sich anderen Aufgaben ;)

Fazit: Du hast Recht, ich habe Recht. Tie::File kann sehr wohl mit »gigantic files« umgehen - nur mit meinen nicht!

Man gebe EditPad eine zweite Chance, nachdem man auf die TV-Nachrichten verzichtet und auf andere, speicherfressende Programme, schafft das, auf CRLF umzuspeichern und siehe da: es FUNZT(tm)!

Zweites Fazit: Du hast Recht, Struppi hat Recht, Tie::File hat Recht und ich sorge für Unterhaltung ;)

Nur... warum spielt denn der Zeilenumbruch eine Rolle?

Viele Grüße aus Frankfurt/Main,
Patrick, startet jetzt die Kiste neu. Mann kennt ja Windows Speicherverwaltung, ich hab's gerne frisch ;)

--

_ - jenseits vom delirium - _
[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
Nichts ist unmöglich? Doch!
Heute schon gegökt?
0 72

String Zeilenweise durchlaufen

Perl Anfänger
  • perl
  1. 0
    Horst
    1. 0
      Perl Anfänger
      1. 0
        Struppi
        1. 0
          Perl Anfänger
          1. 1
            Patrick Andrieu
            1. 0
              Perl Anfänger
              1. 0

                Nachtrag

                Perl Anfänger
              2. 0
                Patrick Andrieu
                1. 0
                  Perl Anfänger
                  1. 0
                    Patrick Andrieu
                    1. 0
                      Perl Anfänger
                      1. 0
                        Patrick Andrieu
                        1. 1
                          Siechfred
                          1. 0
                            Patrick Andrieu
                          2. 0
                            Perl Anfänger
                            1. 0
                              Patrick Andrieu
                              1. 0
                                Patrick Andrieu
                                1. 0
                                  MudGuard
                    2. 0
                      Perl Anfänger
              3. 0
                Struppi
                1. 0
                  Patrick Andrieu
                  1. 0
                    MudGuard
                    1. 0
                      Patrick Andrieu
                      1. 0
                        MudGuard
                        1. 0
                          Patrick Andrieu
                          1. 0
                            MudGuard
                            1. 0
                              Patrick Andrieu
                2. 0
                  Perl Anfänger
                  1. 0
                    Struppi
                    1. 0
                      Perl Anfänger
                      1. 0
                        Patrick Andrieu
                        1. 0
                          Perl Anfänger
                          1. 0
                            Kurt Z
                            1. 0
                              Perl Anfänger
                              1. 0
                                Patrick Andrieu
                              2. 0
                                Kurt Z
                    2. 0
                      Patrick Andrieu
                      1. 0
                        Struppi
                        1. 0
                          Patrick Andrieu
                          1. 0
                            Perl Anfänger
                            1. 0
                              Patrick Andrieu
            2. 0
              Siechfred
              1. 0
                Patrick Andrieu
                1. 0
                  Siechfred
                  1. 0
                    Struppi
                    1. 0
                      Siechfred
                  2. 0
                    Patrick Andrieu
          2. 0

            so in der Art?

            Kurt Z
            1. 0
              Kurt Z
              1. 0
                Perl Anfänger
              2. 0
                Siechfred
                1. 0
                  Kurt Z
                  1. 0
                    Siechfred
                    1. 0
                      Kurt Z
                      1. 0
                        Siechfred
                        1. 0

                          Iterartorvariable

                          Kurt Z
                          1. 0
                            Siechfred
                            1. 0
                              Kurt Z
              3. 0
                Perl Anfänger
                1. 0
                  Kurt Z
                  1. 0
                    Perl Anfänger
                    1. 0
                      Kurt Z
                      1. 0
                        _Perl_ Anfänger ;-)
                        1. 0
                          Kurt Z
                          1. 0
                            Perl Anfänger
                            1. 0
                              Kurt Z
                              1. 0
                                Perl Anfänger
                                1. 0
                                  Siechfred
                                  1. 0
                                    Kurt Z
                                  2. 0
                                    Perl Anfänger
                                2. 0
                                  Kurt Z