note
ikegami
<blockquote><p><i>You don't need to know about the guts, but you do need to encode your data, if you care about its encoding. </i></blockquote>
<p>Unfortunately, you do in some circumstances. For example, the only difference in between <c>$up</c> and <c>$dn</c> in the following is the internal storage format, yet they differ in output.
<c>
$\ = "\n";
utf8::downgrade $dn = chr(0xC9);
utf8::upgrade $up = chr(0xC9);
# <5.10 >=5.10
print pack('A', $dn) eq chr(0xC9) ?1:0; # 1 1
print pack('A', $up) eq chr(0xC9) ?1:0; # 0 1
print $dn =~ /\w/ ?1:0; # 0
print $up =~ /\w/ ?1:0; # 1
</c>
<p>They are being fixed. As you can see, <c>pack</c> no longer depends on the internal encoding since 5.10.0. Other discrepencies such as /\w/ are being fixed too.
776689
776762