... changing $/ might not ever help with this since the \n is converted on the way in from a file handle.
Automatic line ending translations would happen if the crlf
PerlIO layer were in effect. On Windows, this layer is by default
pushed on the PerlIO layer stack for every filehandle (and, I suppose, for
sockets, too — not 100% sure, though1). However, as
the OP is trying this on Ubuntu, there is no crlf layer (unless
explicitly requested), and thus no CR/LF translations.
___
1 ...sorry, can't verify without rebooting into
Windows, which would be too much fuss at the moment :)
Maybe someone else is willing to just run the example on Windows,
and put a
print join(" ", PerlIO::get_layers($session)), "\n";
right after the my $session = $sock->accept; in the
server code. This would show which layers are in effect.
|