in reply to Re: How to match last character of string, even if it happens to be a newline?
in thread How to match last character of string, even if it happens to be a newline?

Mac or Windows newlines seldom cause a problem. I think of \n as a perl newline. Perl strings always use it. Translation between it and your OS's representation is done by an I/O "layer". (In Unix, the "translation" does not actually change anything.) The only exception is when we change I/O behavior by specifying non-standard layers or binmode on input.
Bill
  • Comment on Re^2: How to match last character of string, even if it happens to be a newline?

Replies are listed 'Best First'.
Re^3: How to match last character of string, even if it happens to be a newline?
by LanX (Saint) on May 12, 2019 at 21:26 UTC
    I didn't say it's a problem in general,

    I said it's not always just one character like the OP suggested.

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

      In Perl, "\n" is always one character, regardless of the platform. It is written as two bytes if you use the default encoding on some platforms, Windows being the most popular. Newline has a nice overview.

      If you read a file containing 0D0A using the default encoding on Unix platforms, or with binmode on any platform, you get two characters "\r\n" which you can (or have to) process.

        I think you are right, \n seems to be encoded as 0x0A on all plattforms.

        Though didn't test writing and rereading, but I suppose the effect to be the same as long as I don't specify an open with the binmode option.

        Thanks! :)

        Cheers Rolf
        (addicted to the Perl Programming Language :)
        Wikisyntax for the Monastery FootballPerl is like chess, only without the dice