# New Ticket Created by  Zefram 
# Please include the string:  [perl #128513]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=128513 >


Str.perl fails to represent whatever is being used by the utf8-c8 encoding
to represent a non-UTF-8 octet.  Thus .perl.EVAL fails to round-trip
the Str that arises in the middle of a utf8-c8 decode-then-encode
round-tripping of an octet string.

> Blob[uint8].new(233, 1).decode("utf8-c8").encode("utf8-c8").perl
Blob[uint8].new(233,1)
> Blob[uint8].new(233, 1).decode("utf8-c8").perl.EVAL.encode("utf8-c8").perl
Blob[uint8].new(244,143,191,189,120,69,57,1)

If that mangled octet string is then used as a second input value, the
two Str values arising from decoding these two octet strings compare !eq
(as they should), but their .perl representations compare eq.  This shows
that the problem is on the .perl side, rather than the .EVAL side.

-zefram

Reply via email to