But you created $d and $u using "internal" Perl functions
We could debate that, but it's completely irrelevant. I used them because it made the example clear. But I could have used ordinary string literals to get the same behaviour.
can this bug be reproduced using "supported" operations?
utf8::upgrade and utf8::downgrade are fully supported. But yes.
because you're not supposed to mix codepoint-strings with byte-strings
One, there was no "mixing", so that's also completely irrelevant.
Two, that's completely untrue. "Mixing" strings with different internal storage is not only acceptable, it's common.
use utf8; my $u = "Éric"; my $d = "Brine"; my $s = "$u $d"; # Perfectly ok!
In reply to Re^6: how are ARGV and filename strings represented?
by ikegami
in thread how are ARGV and filename strings represented?
by almr
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |