它似乎无法将重音Ó识别为大写
#!/usr/bin/env perl
use strict;
use warnings;
use 5.14.0;
use utf8;
use feature 'unicode_strings';
" SIMÓN " =~ /^\s+(\p{Upper}+)/u;
print "$1\n";
返回
SIM
Perl应该能够使用已经标记为大写的Unicode数据。
来自emacs describe-char
character code properties: customize what to show
name: LATIN CAPITAL LETTER O WITH ACUTE
old-name: LATIN CAPITAL LETTER O ACUTE
general-category: Lu (Letter, Uppercase)
decomposition: (79 769) ('O' '́')
答案 0 :(得分:10)
您缺少use open ':std', ':locale';
来正确编码输出。
如果这不起作用,即使您告诉Perl,您的文件也不会使用UTF-8进行编码。