I think I understand. chr will convert all values < 256 into a string having byte persuasion, since it can; and only encodes a string of UTF-8 persuasion if it has to.

Meanwhile, the regex engine is expecting a UTF-8-encoded string and assumes it is, rather than understanding that it has a character whose ordinal is correctly encoded for the kind of string it is. IOW, the regex engine is not respecting the persuasion of the input argument.

If the regex engine properly treated the input string as an abstract string of characters, regardless of how they were encoded, then it truely would not matter how chr decided to encode it.

I expected chr to always emit a UTF-8 string if utf8 was in effect.


In reply to Re: (tye)Re: problem with chr function by John M. Dlugosz
in thread problem with chr function by John M. Dlugosz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.