大写Unicode的正则表达式与"Ó"不匹配?

use*_*602 8 regex unicode perl utf-8

它似乎无法将重音Ó视为大写

#!/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";
Run Code Online (Sandbox Code Playgroud)

回报

SIM
Run Code Online (Sandbox Code Playgroud)

Perl应该能够使用Unicode数据,它已经将Ó标记为大写.来自emacsdescribe-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' '?')
Run Code Online (Sandbox Code Playgroud)

ike*_*ami 10

您错过use open ':std', ':locale';了正确编码输出.

如果这不起作用,即使您告诉Perl,您的文件也不会使用UTF-8进行编码.