Ah, it seems to be mentioned for Perl 5.8.1
. (Although the text does reference 5.8.0; beats me...)
"As of the 5.8.0 release, sysopen()/sysread()/syswrite() do not behave like they used to in 5.6.1 and earlier with respect to "text" mode. These built-ins now always operate in "binary" mode (even if sysopen() was passed the O_TEXT flag, or if binmode() was used on the file handle). Note that this issue should only make a difference for disk files, as sockets and pipes have always been in "binary" mode in the Windows port. As this behavior is currently considered a bug, compatible behavior may be re-introduced in a future release. Until then, the use of sysopen(), sysread() and syswrite() is not supported for "text" mode operations.'
I'm glad to know why it's broken, even if it means no File::Slurp
. Thanks for all the help. I wonder if they plan to fix that any time soon. There's a bug report at ActiveState from 2003.