Tom: Zeilen in einem File splitten?

Hi,

ich habe da einen Chat, das ist in Perl geschrieben und würde gerne so eine Art Login-Liste dazuprogrammieren (bin aber eher totaler Perl-anfänger). Jedesmal, wenn sich jemand im Chat einloggt, wird in einen textfile eine neue Zeile geschrieben, und zwar im Format UhrzeitNicknameIP-Adresse

Also wenn sich jemand beispielsweise um 17:32:25 Uhr unter dem Namen "Mustermann" mit der IP "12.34.56.78" einloggt, dann wird in dem Textfile diese Zeile hinzugefügt: 17:32:25Mustermann12.34.56.78
Jetzt würd' ich das gerne auslesen und als HTML ausgeben, aber nicht als "17:32:25Mustermann12.34.56.78" sondern zum Beispiel jeden Wert in einer eigenen Tabellenzelle.

Ich könnte es zwar auch so machen, dass ich in den Textfile gleich den HTML-Code für Tabellen schreibe, allerdings würde der File dann auf die Dauer zu groß werden. So bleibt wohl nur splitten, aber ich hab da leider noch keinen Plan von.
Wenn jemand Ahnung davon hat, wär's nett wenn er die Lösung hier posten könnte, wenn möglich auch mit ner kurzen Erklärung, damit ich was dazulernen kann :)

Gruß
Tom

  1. ok..ich nehme an du hast es soweit eine zeile in eine Variable zu kriegen. z.B. $zeile.

    so jetzt machst du:

    ($datum,$name,$IPadresse) = split ("",$zeile,3);

    in der Klammer stehen die Variablen in die die aufsplittung gespeichert werden soll. Kann auch ein @rray sein.

    die split funktion geht so..klammer auf..das trennzeichen in anführungszeichen: "", da aber ein sonderzeichen ist, lieber escapen sonst geht es manchmal schief also: "", komma die variable die gesplittet werden soll dann optional komma und eine zahl die besagt in wie viele teile die aufgesplittete variable zerfällt.

    Gruß
    Cruz

    Hi,

    ich habe da einen Chat, das ist in Perl geschrieben und würde gerne so eine Art Login-Liste dazuprogrammieren (bin aber eher totaler Perl-anfänger). Jedesmal, wenn sich jemand im Chat einloggt, wird in einen textfile eine neue Zeile geschrieben, und zwar im Format UhrzeitNicknameIP-Adresse

    Also wenn sich jemand beispielsweise um 17:32:25 Uhr unter dem Namen "Mustermann" mit der IP "12.34.56.78" einloggt, dann wird in dem Textfile diese Zeile hinzugefügt: 17:32:25Mustermann12.34.56.78
    Jetzt würd' ich das gerne auslesen und als HTML ausgeben, aber nicht als "17:32:25Mustermann12.34.56.78" sondern zum Beispiel jeden Wert in einer eigenen Tabellenzelle.

    Ich könnte es zwar auch so machen, dass ich in den Textfile gleich den HTML-Code für Tabellen schreibe, allerdings würde der File dann auf die Dauer zu groß werden. So bleibt wohl nur splitten, aber ich hab da leider noch keinen Plan von.
    Wenn jemand Ahnung davon hat, wär's nett wenn er die Lösung hier posten könnte, wenn möglich auch mit ner kurzen Erklärung, damit ich was dazulernen kann :)

    Gruß
    Tom

    1. ok..ich nehme an du hast es soweit eine zeile in eine Variable zu kriegen. z.B. $zeile.

      ... eine Zeile aus dem File? Nein *g ...
      sorry, weiß ich nicht.

      Tom

      1. open (FILE "<dateiname");
        @zeilen=<FILE>;
        close (FILE);

        damit hast du all Zeilen in einen Array gepusht, jedes Element ist eine Zeile.

        Also kannst du mit

        foreach (@zeilen) {
        ($datum,$name,$IP) = split ("",$_);
        }

        zeile für zeile aufsplitten und die variablen verwerten.

        ok..ich nehme an du hast es soweit eine zeile in eine Variable zu kriegen. z.B. $zeile.

        ... eine Zeile aus dem File? Nein *g ...
        sorry, weiß ich nicht.

        Tom

        1. Hey... danke, werde das mal probieren :)

          thx
          Tom