¿Son todos los saltos de línea iguales? No señor ! Hay saltos y saltos 🙂 Por ejemplo, los siguientes son saltos típicos de un editor de textos Windows:

Los ^M que aparecen en la imagen son realmente la representación visual de «rn» (carriage return + line feed), es decir, el salto de línea típico de Windows. Un fichero en PHP con esos saltos de línea se pueden ejecutar sin problemas en Linux. Pero cuando los editamos con el Vim (o $EDITOR de confianza), la verdad es que los ^M dan grima. Esto ocurre porque en Linux el salto de línea se representa como n , a secas (sin el r ). Podemos convertir un fichero con saltos Win a otro con saltos Linux con el comando sed:
O bien, si no nos acordamos del conjuro, seguro que nos viene a la memoria el mnemotécnico «fromdos» (de MSDOS a Unix):
que automágicamente detecta y convierte (de MSDOS a Unix o viceversa) el fichero pasado como parámetro. fromdos es un comando del paquete tofrodos.