Veröffentlicht 17. November 200816 j Hi, ich habe hier einen sql dump in welchem ich die Umlaute durch die HTML Tags ersetzten will. So hab ich das bisher gelöst: $line =~ s/ü/ü\;/og; $line =~ s/Ü/Ü\;/og; $line =~ s/ä/ä\;/og; $line =~ s/Ä/Ä\;/og; $line =~ s/ö/ö\;/og; $line =~ s/Ö/Ö\;/og; $line =~ s/ß/ß\;/og; Ich hätte das aber gerne in einer Zeile mit "and" verknüpft, was dann so aussehen sollte: ($line =~ s/ü/ü\;/og) and ($line =~ s/Ü/Ü\;/og) and ($line =~ /ä/ä\;/og) and ($line =~ s/Ä/Ä\;/og) and ($line =~ s/ö/ö\;/og) and ($line =~ s/Ö/Ö\;/og) and ($line =~ s/ß/ß\;/og); Beim zweiten Beispiel wird aber nur die erste klammer (ü's ersetzen) ausgeführt, woran liegt den das? Gruß und Danke
17. November 200816 j Beim zweiten Beispiel wird aber nur die erste klammer (ü's ersetzen) ausgeführt, woran liegt den das? Wie in den meisten Sprachen wird ein a AND b AND c nur ausgeführt wenn der Ausdruck a wahr ist. Ist er ist nicht, so ist der ganze Ausdruck eh falsch und der Vorgang wird abgebrochen. Was du hier willst ist kein logisches AND sondern du willst a und b und c Ausführen. Was du hier eigentlich willst ist eher ein use HTML::Entities use HTML::Entities; my $line = encode_entities($line); ~> perl -Mutf8 -MHTML::Entities -e '$line = "äöüÄÖÜ"; $line = encode_entities($line); printf("%s\n",$line);' äöüÄÖÜ
17. November 200816 j Hi, danke für den schnellen Hinweis, ich werde mir merken das es dieses Modul gibt Sollte ich nochmal das Problem haben, werd ich es damit lösen! Gruß
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.