in reply to Re^2: Convert file to unix
in thread Convert file to unix

^M can appear only once at the end of each line

What sort of alternate universe are you living in? Have you never seen output from processes that do something like this?

while( @to_do ) { # do something with next value of @to_do list... shift @todo; ... # report progress without causing the terminal to scroll: printf( " ... still %4d more to go\r", scalar @to_do ); }
Of course, for stuff like that, just deleting all the "\r" characters will probably not produce results that you would really want. But my point is: do not assume there is ever any sort of guarantee that a DOS text file will always have exactly one CR for every LF, and/or that these will always appear as CRLF.

(If you need another example, look at the manual for the unix "zip" command, esp. the "-l" option.)