Unter Unix  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.