我对这个测试脚本感到困惑:
#!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');
Run Code Online (Sandbox Code Playgroud)
这三个测试都失败了,但是我期待use encoding 'utf8'将文字áá和qr基于正则表达式的regexp 升级为utf8字符串,从而通过测试.
如果我删除了use encoding测试按预期传递的行,但我无法弄清楚为什么它们会在utf8模式下失败.
我在Mac OS X上使用perl 5.8.8(系统版).