in reply to Re^7: problem with 'bare LF' in script
in thread problem with 'bare LF' in script
perlop, under Quote-and-Quote-like-Operators, says:
All systems use the virtual "\n" to represent a line terminator, called a "newline". There is no such thing as an unvarying, physical newline character. It is only an illusion that the operating system, device drivers, C libraries, and Perl all conspire to preserve. Not all systems read "\r" as ASCII CR and "\n" as ASCII LF. For example, on a Mac, these are reversed, and on systems without line terminator, printing "\n" may emit no actual data. In general, use "\n" when you mean a "newline" for your system, but use the literal ASCII when you need an exact character. For example, most networking protocols expect and prefer a CR+LF ("\015\012" or "\cM\cJ") for line terminators, and although they often accept just "\012", they seldom tolerate just "\015". If you get in the habit of using "\n" for networking, you may be burned some day.
I wasn't sure what it meant by "read "\r"", but following GrandFather above I am now taking this to mean what "\r" is interpolated to, rather than what any IO read operation might be doing -- but I could be wrong... I've struggled to get my head around it so far :-(
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^9: problem with 'bare LF' in script
by ikegami (Patriarch) on Nov 13, 2008 at 05:03 UTC | |
by gone2015 (Deacon) on Nov 13, 2008 at 10:51 UTC | |
by ikegami (Patriarch) on Nov 13, 2008 at 14:08 UTC |