Perl, Windows, Unix und Zeilenumbrüche
Gelegentlich entwickle ich unter Windows Perl-Scripts, die später auf einem Unix-Server ausgeführt werden.
Problematisch kann es dabei werden, wenn die Daten, welche das Script entgegen nimmt, unter Windows generiert werden.
Hier kann dann das Newline-Problem auftreten. Windows nutzt zur Darstellung eines Zeilenumbruchs die Zeichenfolge eines Carriage Return + Line Feed, Linux nutzt hingegen nur einen einfachen Line Feed. Das zusätzliche CR sorgt dann für Probleme bei der Verarbeitung.
Hat man unter Unix Zugriff auf die Daten, welche das Script verarbeiten soll, so kann man sich den Inhalt mit vi anzeigen lassen. Das CR wird dort durch ein ^M dargestellt. Beim Debuggen mit Perl wird das Zeichen nicht angezeigt, weil es ein Steuerzeichen ist. Aber wie geht man damit um? (weiterlesen…)