in reply to Re: How do I read an entire file into a string?
in thread How do I read an entire file into a string?
I noticed that the "end-of-line" for each line is changed from "0d 0a" to "0d 0d 0a"
Windows converts 0x0a to 0x0d 0x0a on output unless the output file handle has been marked binary (as with binmode).
On input, it does the reverse, converting 0x0d 0x0a to 0x0a; if the file hasn't been marked binary..
What is happening in your case is that when the text file is written, 0x0a becomes 0x0d 0x0a. When you read it in as binary, no conversion is done so you get 0x0d 0x0a in memory...
But when you print it to the text mode screen, the automatic conversion is done (again), so 0x0d 0x0a becomes 0x0d 0x0d 0x0a as you are seeing.
When you omit the binmode, the 0x0d 0x0a read from disk, become just 0x0a in memory; and then when you print it out, they get converted back to 0x0d 0x0a and everything looks normal.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Answer: How do I read an entire file into a string?
by Discipulus (Canon) on Jun 15, 2016 at 07:41 UTC | |
by BrowserUk (Patriarch) on Jun 15, 2016 at 11:40 UTC |