Thread Perl Regular Expression - merkwürdiges Verhalten (16 answers)
Opened by GoodFella at 2007-03-24 00:04

kristian
 2007-03-24 21:55
#75310 #75310
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo

Ich fürchte ich kann dir auch nicht helfen.
Ich habe es zuletzt vor etwa 18 Monaten intensiv gemacht, von daher mein heutiges Halbwissen.
Verstanden was abgeht habe ich auch nie wirklich. (zdzd)
Für das grundsätzliche Verstehen scheint mir perldoc Encode sinvoll.
Zitat:
Quote
TERMINOLOGY
o character: a character in the range 0..(2**32-1) (or
more). (What Perl's strings are made of.)

o byte: a character in the range 0..255 (A special case of
a Perl character.)

o octet: 8 bits of data, with ordinal values 0..255 (Term
for bytes passed to or from a non-Perl context, e.g. a
disk file.)

Da findet sich dann direkt im Anschluss:
Quote
CAVEAT: When you run "$octets = encode("utf8",
$string)", then $octets may not be equal to $string.
Though they both contain the same data, the utf8 flag
for $octets is always off. When you encode anything,
utf8 flag of the result is always off, even when it
contains completely valid utf8 string. See "The UTF-8
flag" below.

Ich habe damals versucht eine Robot / Spider zu schreiben der unbekannte Daten aus dem Netz holt und in eine DB packt.
(Ziel: Suchmachine)

Das ganze lief ohnehin per Try and Error, wobei, ich hatte irgendwann eine Kombination der richtigen Modul-Versionen, die mit dem was ich geschrieben hatte das Ergebnis brachten das ich wollte.
Auf dem nächsten Rechner - gleiche Module nur andere Versionen - ging das Ganze wieder voll in die Hose.

Ich habe bislang nicht den Eindruck, dass Perl in Verbindung mit Unicode sinnig wäre um nach "der Zeile" zu fragen die die ganze Problematik auflöst.

Du kannst bestenfalls hinterfragen in welchem "Stadium" sich deine Daten gerade befinden, wenn du alles auf ein Level zwingst, klappt es ja auch wie erwartet.

Gruss
Kristian

View full thread Perl Regular Expression - merkwürdiges Verhalten