Was sind DOS/WIN-Zeilenschaltungen?
Unter Unix und wie hier Linux wird eine Textzeile von der nächsten Textzeile durch das Zeichen hex: $0A (auch durch #10 oder ^J darstellbar) getrennt. Unter Dos und allen Windows-Versionen werden zur Zeilentrennung 2 Zeichen verwenden, nämlich hex: $0D$0A (auch als #13#10 oder ^M^J darstellbar).
Somit bleibt unter Unix immer das Zeichen $0D (#13,^M) am Zeilenende übrig. Das kann zu unangenehmen, sehr schwer lokalisierbaren Fehlern und Ungereimtheiten in Skripten führen. Daher erste Regel: Wer Skripte mit Editoren unter DOS/Windows bearbeitet, muß diese überschüssigen Zeichen erst entfernen. Denn z.B. ist /usr/bin/perl^M nun mal kein startbares Programm.
Verwenden Sie folgendes Programm um den Windows Code eines CGI-Skrips in Unix Code um zu wandeln.
externer Link TextIMP: http://www.gth-media.de/textimp/index.html