in reply to Re^7: Dealing with files with differing line endings
in thread Dealing with files with differing line endings

Only if you explicitly specify the :crlf layer, which your code doesn't do.

Strawberry perl.exe adds the :crlf layer unless you tell it otherwise.

C:\usr\local\share>perl -MConfig -MPerlIO -le "print for PerlIO::get_l +ayers(STDIN), '-'x10, $Config{myuname}" unix crlf ---------- Win32 strawberry-perl 5.30.0.1 #1 Thu May 23 12:20:46 2019 x64

(I haven't used Active State since the early aughts, so I cannot tell you how the other major Windows port of perl behaves, though my vague recollections were that I had never heard of IO layers back then, but that newlines just worked right, as they do with modern Strawberry, so I am assuming they also set :crlf for you.)


update: hmm, you even knew it was on by default on Windows in Re^9: How do I display only matches (from the other conversation you alluded to), so I have to assume I've missed something in the context of this thread. I don't see anything in the posted code that would override that (other than the :raw open, of course)... so I'm more confused than when I first posted this. :-( Maybe I've had too hard of a day, and I should stop trying at this point. Time to go home! :-)

Replies are listed 'Best First'.
Re^9: Dealing with files with differing line endings
by haukex (Archbishop) on Nov 16, 2021 at 07:17 UTC
    I have to assume I've missed something in the context of this thread.

    This bit in the text I quoted:

    When reading a Windows file on Unix

    It happens :-) And though it's just a guess, I'd be surprised if ActivePerl doesn't add the :crlf layer by default. I think Cygwin Perl doesn't.