in reply to File::Slurp bug? Should I bother?

First, let's forget about $/. $/ has no effect on read_file (in the latest version of File::Slurp) unless you save the result of the function directly into an array, or if you use the array_ref => 1 option.

Second, You say it's adding newlines, but what it's doing is not removing carriage returns, as if the file was open in binary mode. What version of File::Slurp are you using? Maybe older version used binary mode by default. In the latest version, binary mode is only used if you use the binary => 1 option.

I don't have File::Slurp installed, so I haven't run your snippet, but I don't see anything in the source (of the latest version) that explains what you see.