note ikegami <blockquote><p><i>It reverses Unicode code points</i></blockquote> <p>No. It doesn't know anything about Unicode and there's no requirement for the string to be Unicode text. <blockquote><p><i>not characters in the usual, well-understood sense of the word.</i></blockquote> <p>In my experience, "character" is the constituent element of a string, and never a grapheme except by happenstance. Let's just say there is no such consensus. Regardless, that's the definition used here. <blockquote><p><i>If I understand the design principles of Perl correctly, the reverse function should properly reverse extended grapheme clusters</i></blockquote> <p>No. <c>reverse</c> provides a vital string operation. It should not assume the string is Unicode text. Reversing text is <em>also</em> a useful function, but it is not provided by <c>reverse</c>. <p>Same goes with <c>substr</c> and <c>length</c>. <blockquote><p><i>when the thing being reversed is Unicode text (and Perl understands it is Unicode text), and it should reverse bytes otherwise.</i></blockquote> <p>Perl doesn't have a means of "understanding a string is Unicode text". 661510 881588