Я озадачен этим тестовым сценарием:
#!perl
use strict;
use warnings;
use encoding 'utf8';
use Test::More 'no_plan';
ok('áá' =~ m/á/, 'ok direct match');
my $re = qr{á};
ok('áá' =~ m/$re/, 'ok qr-based match');
like('áá', $re, 'like qr-based match');
Три теста не пройдены, но я ожидал, что use encoding 'utf8'
обновит как регулярное выражение áá
, так и регулярное выражение qr
до строк utf8, и, таким образом, пройдет тесты.
Если я уберу строку use encoding
, тесты пройдут, как и ожидалось, но я не могу понять, почему они не пройдут в режиме utf8
.
Я использую Perl 5.8.8 в Mac OS X (системная версия).