Come for the quick hacks, stay for the epiphanies. | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
Here's a way to reverse a Unicode string using the regular expression character class \X to match Unicode extended grapheme clusters:
Here's a demonstration using Vietnamese (tiếng Việt) words: #!perl use strict; use warnings; use utf8; binmode STDOUT, ':encoding(UTF-8)'; my $Moonshine = "Rượu đế"; my $enihsnooM = join '', reverse $Moonshine =~ m/\X/g; print "$Moonshine\n"; print "$enihsnooM\n"; __END__ Rượu đế ếđ uợưR LATIN CAPITAL LETTER R LATIN SMALL LETTER U COMBINING HORN LATIN SMALL LETTER O COMBINING HORN COMBINING DOT BELOW LATIN SMALL LETTER U SPACE LATIN SMALL LETTER D WITH STROKE LATIN SMALL LETTER E COMBINING CIRCUMFLEX ACCENT COMBINING ACUTE ACCENT [I was forced to use <pre> tags instead of <code> tags here to display the actual Vietnamese characters rather than their HTML character entities.] In reply to Re: How to reverse a (Unicode) string
by Jim
|
|