Aquariophile: Zeilenumbruch entfernen mit s/\015\012|\015|\012/<br>/sg; ??

Hallo!

Dieses Ding da entfernt Zeilenumbrüche in Perl
Wenn ich nach \n oder \n\r oder sowas suchen würde,
waere es logisch.

Aber dieser Zahlencode ist mir unklar.

$text =~ s/\015\012|\015|\012/<br>/sg;

Nur "hinnehmen" will ich es nicht
Ich will es verstehen und anzuwenden lernen.

Wer hat Deutschsprachige infos dazu?

Danke!
Aquariophile

  1. Hallo!

    Guten Morgen

    Wer hat Deutschsprachige infos dazu?

    Hmm, mir würde zwar schon was einleuchtendes dazu einfallen ...die Zahlen sind ja schon "urgendwie auffällig" gell? ;)  ...Aber bevor ich was falsches sage, frag doch mal bei http://www.perlboard.de
    ..wenn man dir da nicht helfen kann, dann kann das wohl niemand auf dieser Erde ;-)

    Danke!

    Bitte

    Aquariophile

    WFUX

    1. Hallo Aqua,

      da gibt es natürlich hier schon ganz viele Threads zu dem Thema, aber es kann ja nix schaden, noch einen hinzuzufügen:

      Zeilenumbrüche werden in den verschiedenen Betriebssystemen unterschiedlich gekennzeichnet:

      System    Hexcode   Dezcode  Oktalcode  Escape-Zeichen   Mnemonic

      Unix      0D        #10       012            \n             LF
      MAC       0D        #13       015            \r             CR
      DOS/WIN   0D0A      #13#10    015/013        \r\n           CRLF

      Der "Universalzeilenumbruch" aus DOS lautet also Carriage Return (CR) Line Feed (LF) und nicht, \n\r wie Du es geschrieben hast. Die Reihenfolge ist meistens relevant.

      Da man nun nie weiß, aus welchem System eine Date stammt, wird folgendermaßen ersetzt:

      Erst alle Doppelzeichen aus DOS                  /015/013
      dann alle übriggebleibenen einfachen aus MAC     /015
      dann noch alle restlichen aus Unix               /013

      Wenn man das nun alles hintereinder schreibt bedeutet es:

      Ersezte die Doppelten oder die MAC oder die Unix
                   /015/013   |    /015   |     /013

      Die Pipezeichen zwischen den zu ersetzenden Zeichen sind also "oder"-Zeichen

      Die Darstellung in Perl ist hier mit Oktalzahlen durchzuführen. Die Entsprechnungen findest Du ja obeb in der kleinen tabelle.

      Ich hoffe, das hat Dir nun geholfen?

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
      1. Hallo,

        s/013/012/gm;
        *gg*

        Grüße
          Klaus

        1. Hallo zurück,

          Hallo,

          s/013/012/gm;
          *gg*

          Hab erst gestutzt, was meint er denn? Aber na klar, hab mich glatt verschrieben. DEZ 10 sind in Oktal natürlich /012 und nicht /013.

          kannst mal sehen, wo nachher immer die ulkigen Programmeigenschaften herrühren *gg*

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
          1. Moin,

            Hab erst gestutzt, was meint er denn? Aber na klar, hab mich glatt verschrieben. DEZ 10 sind in Oktal natürlich /012 und nicht /013.

            Eigentlich sogar \012 statt /012, aber man weiss was du meinst.

            --
            Henryk Plötz
            Grüße aus Berlin
            1. Hallo Henryk,

              Eigentlich sogar \012 statt /012, aber man weiss was du meinst.

              Da haben die mir heute wieder 'nen gebrauchten Tag angedreht...

              Liebe Grüße aus http://www.braunschweig.de

              Tom

              --
              Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
      2. Hi!

        In aller Bescheidenheit moechte ich darauf hinweisen, dass manche Leute schon ganze Artikel ueber dieses Thema geschrieben haben, z.B. http://aktuell.de.selfhtml.org/artikel/cgiperl/zeilenumbruch/index.htm. ;-) Unter "Hinweise und Standardtricks" findet man dann auch diesen regulaeren Ausdruck.

        So long

        --
        Bier trinken fetzt!!!
        1. Hallöle,

          In aller Bescheidenheit moechte ich darauf hinweisen, dass manche Leute schon ganze Artikel ueber dieses Thema geschrieben haben, z.B. http://aktuell.de.selfhtml.org/artikel/cgiperl/zeilenumbruch/index.htm. ;-) Unter "Hinweise und Standardtricks" findet man dann auch diesen regulaeren Ausdruck.

          Da guck mal einer Schau. Und da wurde der Fragesteller anfangs so abgeldert, statt ihm gleich den richtigen Hinweis zu geben. Benehmen ist eben doch Glückssache...

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.