http://qs321.pair.com?node_id=1039341


in reply to Re: Win32: Setting a layer with binmode causes problem with close() on Windows
in thread Win32: Setting a layer with binmode causes problem with close() on Windows

I read again PerlIO. My mistake was certainly to regard :unix and :crlf as two alternative I/O layers, one doing the lineending translation in the Unix style (i.e. no translation necessary), and the other one in the Windows style. This is clearly wrong: :crlf is to be seen on top of </c>:unix</c>, the latter being the most elementary stlye.

Indeed, just omitting binmode works; I can read both kinds of files on Windows.

Now another, related question comes to my mind. How about creating files? When I want to create on Windows a file, which has Unix line endings, should I then

, since just setting the layer to :unix shouldn't work either, for the same reason that it was nonsense when trying to read an Unix file on Windows. But which of these variants are reliably working, i.e. without nasty side effects which maybe come up much later? I guess all three of them are correct, but I'm not sure, and anyway, which one would you consider the preferable one?

-- 
Ronald Fischer <ynnor@mm.st>