dedlfix: Wiki: Fehler auf der Regex-Seite

Beitrag lesen

problematische Seite

Tach!

Das Beispiel beginnt nach dem üblichen Einbinden von strict und warnings mit dem Laden des utf8-Moduls, das einzig dem Zweck dient, Perl mitzuteilen, dass der Sourcecode in utf-8 geschrieben ist.

Das ist nicht richtig. utf8 ist ein Pragma was bewirkt, dass der Interpreter die im Script notierten Literale als "utf-8-kodierte Zeichenketten" betrachtet und nicht als Bytesequenzen.

"The use utf8 pragma tells the Perl parser to allow UTF-8 in the program text in the current lexical scope. The no utf8 pragma tells Perl to switch back to treating the source text as literal bytes in the current lexical scope. [...] Do not use this pragma for anything else than telling Perl that your script is written in UTF-8." sagt Perldoc. Und weiterhin:

"Bytes in the source text that are not in the ASCII character set will be treated as being part of a literal UTF-8 sequence. This includes most literals such as identifier names, string constants, and constant regular expression patterns."

Ich kann nicht erkennen, warum der oben zitierte Satz nicht richtig sein soll - größtenteils jedenfalls. Geht es lediglich darum, dass das Wort Modul falsch ist? Ist er mit dem Ändern in die Formulierung "mit dem Setzen des utf8-Pragmas" korrekter?

Die folgende Zeile binmode STDOUT, ":utf8" sorgt dafür, dass auch die Ausgabe in utf-8 erfolgt. Ohne diese Zeile könnten Umlaute als Fragezeichen oder ähnliches ausgegeben werden.

Auch falsch. Diese Zeile sorgt dafür, dass eben keine utf-8-kodierte Zeichenketten nach STDOUT geschickt werden sondern Bytesequenzen.

Verstehe ich nicht den Einwurf.

"To output UTF-8, use the :encoding or :utf8 output layer. Prepending binmode(STDOUT, ":utf8"); to this sample program ensures that the output is completely UTF-8, and removes the program's warning." sagt Perldoc.

Was wird denn für ein "häh?" ausgegeben, wenn nicht 68 c3 a4 68 3f? Verstehst du unter "utf-8-kodierte Zeichenketten" etwas anderes als die gemäß UTF-8-Kodierungsvorschrift in Bytes umgewandelten Unicode-Codepoints der jeweiligen Zeichen?

dedlfix.

7 47

Wiki: Perl-Bereich depubliziert

Matthias Scharwies
  • perl
  • selfhtml-wiki
  1. 0
    Matthias Apsel
    • menschelei
  2. 0
    Julius
    • perl
    • regex
    • selfhtml-wiki
    1. 1
      Matthias Scharwies
      1. 0
        Julius
        1. 1
          dedlfix
    2. 0
      Felix Riesterer
      1. 0
        Julius
        1. 2
          Matthias Scharwies
          1. 0
            Camping_RIDER
          2. 0
            Julius
  3. 0
    Matthias Apsel
  4. 0

    Wiki: Fehler auf der Regex-Seite

    pl
    1. 2
      dedlfix
      1. 0
        pl
        1. 1
          dedlfix
          1. -3
            pl
            1. -1

              Beitragsbewertung

              pl
            2. 2
              dedlfix
              1. -1
                pl
                1. 2
                  Matthias Apsel
                  • menschelei
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      Martl
                      • menschelei
                      • zu diesem forum
                      1. 0
                        Matthias Apsel
                        1. 0
                          Gunnar Bittersmann
                          • zu diesem forum
                          1. 0
                            Matthias Apsel
                            1. 1
                              Gunnar Bittersmann
                              1. 0
                                Martl
                            2. 1
                              Camping_RIDER
                              1. 0
                                Tabellenkalk
                                1. 0
                                  MudGuard
                              2. 0
                                Mitleser
                  2. 0
                    dedlfix
                    1. -1
                      pl
            3. 0
              Matthias Apsel
              • sonstiges
              1. 0
                pl
                1. 0
                  Camping_RIDER
                  1. 0
                    Gunnar Bittersmann
          2. -2
            pl
        2. 2
          Christian Kruse
          1. 0
            pl
    2. 0
      Matthias Apsel
      • zu diesem forum
      1. 0
        dedlfix
        1. 0
          Matthias Apsel
          1. 0
            pl
            1. 3
              Matthias Apsel
  5. 1

    Perl und Unicode

    pl
    • perl