Hallo beatovich,
das ist zwar mittlerweile eine akademische Diskussion, aber du hast wohl recht.
Das logische Linefeed in Perl ist \n, das findet man an diversen Stellen. Ein I/O Layer hätte also die Aufgabe, ein \n in den plattformspezifischen Line-Terminator zu übersetzen.
Was ich nicht gewusst habe, ist, dass Perl diese Aufgabe NUR im DOS/Windows Bereich dem I/O Layer überlässt (also diesem :crlf Dingsbums). Andere Perl-Portierungen deuten \n um. \n ist \x0a unter Unix und DOS sowie dessen Abkömmlingen (Windows+OS/2), aber es ist wird von Perl für MacOS als \x0d aufgefasst. Auf EBCDIC-Plattformen ist es \x15 oder \x25. Quelle
D.h. auf Plattformen mit \n != \x0a
funktioniert der vorgeschlagene Replace nicht. Korrekt wäre wohl /(\x0d?\x0a)\|\x0d/
-> '\n'
, damit sollte man besser zurecht kommen. Immer vorausgesetzt, dass der Browser einen Datenstrom liefert, der auf einer ASCII-Codepage bzw. Unicode basiert. Liefert er EBCDIC, hast Du eh andere Probleme, und der Browser erst recht.
Rolf
sumpsi - posui - clusi