I'm sorry to disagree
I guess we'll have to agree to differ; but the fact that Perl allows me to replace an (8-bit) character, in the middle of a string of 8-bit characters, with some (random*) wide character is just broken.
"chr()" is - and rightly should be - intended to serve the (dominant) linguistic sense of "character" (what the perl docs call "character semantics")
To what possible end?
When you do my $thing = chr( 12345 ); what does that "character" represent?
Is a Chinese character? Or Sanskrit? Or Cyrillic?
Is it utf-8; utf16; utf32?
Is it big-endian or little-endian?
What if I append another character to it: $thing .= chr( $i );. What does string contain now? Can Perl ever decide what encoding $thing contains?
And the answer to all of those questions is: it is impossible to ever know. Thus, chr's ability to construct wide characters is entirely useless.
So, you break with clearly defined semantics for undefined and undefinable semantics, for what purpose?
In reply to Re^4: Character in 'b' format wrapped in unpack
by BrowserUk
in thread Character in 'b' format wrapped in unpack
by BrowserUk
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |