Christian Kruse: Wiki: Fehler auf der Regex-Seite

Beitrag lesen

problematische Seite

Hallo pl,

Du brauchst mir die Doku nicht abzutippen, lesen kann ich selber.

Dann tu das auch!

Ist er mit dem Ändern in die Formulierung "mit dem Setzen des utf8-Pragmas" korrekter?

Nein. use utf8 bewirkt, dass der Interpreter die in der Script-Datei notierten Literale als "utf-8-kodierte Zeichenketten" betrachtet und nicht als Bytesequenzen -- Das ist das Wesentliche und das gibt die Doku nicht her.

Das ist Unsinn. Das ut8-Pragma bewirkt, dass der gesamte Quelltext als UTF-8 interpretiert wird. Kleines Beispiel gefällig?

#!/usr/bin/perl -w

use strict;

my $äöü = 1;

print $äöü, "\n";

Dieses Programm sagt bei der Ausführung:

Can't use global $� in "my" at test.pl line 6, near "my $�"
Unrecognized character \xA4; marked by <-- HERE after my $�<-- HERE near column 6 at test.pl line 6.

Dagegen dieses Programm:

#!/usr/bin/perl -w

use strict;
use utf8;

my $äöü = 1;

print $äöü, "\n";

gibt erfolgreich 1 aus. Was du vermutlich meinst ist use feature "unicode_strings", dass dem Compiler sagt, es soll Unicode-Regeln auf alle Strings und Regexe im aktuellen Scope anwenden. Das Gegenstück dazu ist dann use bytes (von dessen Verwendung abgeraten wird).

Auch das Beispiel aus deinem vorherigen Code ist falsch, es ist durchaus möglich ohne use utf8 zu matchen:

use strict;

print 'Ä' =~ /ä/ui;

gibt erwartungsgemäß 1 aus. Und nein, use utf8 ist nicht das gleiche wie /u.

Ansonsten kann man ein Perl-Script in beliebigen Kodierungen abspeichern ohne dieses Pragma setzen zu müssen.

Gnhahahahaha. Dann erkläre mir bitte, wie du dieses Programm ausführen willst:

#!/usr/bin/perl -w

use strict;

my $äöü = 1;

print $äöü, "\n";

Und -C-Flags zählen nicht!

Für den Rest bin ich jetzt zu müde.

LG,
CK

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