cgicorner.ch ¦ CGI Hilfe ¦ Knowledge Base ¦ Windows: \n wird in Datei zu \r\n    
   http://www.cgicorner.ch

Main Download CGI Hilfe Knowledge Base Links Gaestebuch Witze-Bereich Sitemap Impressum

Windows: \n wird in Datei zu \r\n

Perl läft auf einem Windows-System. Dort wird eine Datei mit UNIX-Zeilenumbrüchen geschrieben:
open(FILE,">test.txt");
print FILE "Zeile1\nZeile2";
close(FILE);
Die Datei hat nun aber PC-Zeilenumbrüche (Zeile1\r\nZeile2). Was mache ich falsch?

Beim Schreiben von Plaintext-Dateien stellt \n für perl einen systemabhänigen Zeilenumbruch (unter Windows eben \r\n dar. Dieser ist in der Systemvariable $/ gespeichert. Um diese automatischen Zeilenumbrüche zu umgehen, schreibt man die Datei am besten im Binärmodus:
open(FILE,">test.txt");
binmode FILE;
print FILE "Zeile1\nZeile2";
close(FILE);
Dadurch werden nur diegenigen Zeichen in die Datei geschrieben, welche auch explizit angegeben werden.

Dieser Artikel wurde zugesandt von: Jürg Sommer, knowledge@cgicorner.ch

Weiterführende Links:


 
Druckfreundliche Version zum Anfang der Seite
Copyright (c) 2011 by cgicorner.ch
Diese Seite ist ein Teil von http://www.cgicorner.ch
URL dieser Seite: http://www.cgicorner.ch/cgi-bin/kb/kb.cgi?file=winnl.kb
Letzte Änderung: 16. August 2002