Beat: $_=~s/ö/&ouml\;/gi; in Gross und Kleinscrift

Beitrag lesen

Habe da ein Code eingebaut. Klein wird in oe umgewandelt,
aber grosses Ö nicht.

Vieleicht wisst Ihr einen Rat?

Es ist generell Unsinn HTML-Entitäten zu erzeugen, wenn ein utf8 Encoding angesagt wäre.

Aber hier die Antwor, warum /i agnostisch ist, solange das pragma utf8 nicht verwendet wird:

  
#!perl  
use warnings;  
use strict;  
use constant { NL => "\n" };  
  
BEGIN {  
    use CGI::Carp qw(carpout);  
    open(LOG, ">error.txt")  or  die "Unable to append to error.txt: $!\n";  
    carpout(*LOG);  
}  
  
{  
  use utf8;  
  "Ö" =~ /ö/i and print "MATCH mit utf8",NL;  
  #matcht  
}  
  
"Ö" =~ /ö/i and print "MATCH ohne utf8",NL;  
  #matcht nicht  
  
<>;  

Die Antwort: ohne utf8 pragma sieht Perl nur Bytes, weiss also nicht von Case für Multibyte Chars.
utf8 kann pro Block ein und ausgeschaltet werden.

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische