相关疑难解决方法(0)

为什么我的Perl测试会因`use encoding'utf8'而失败?

我对这个测试脚本感到困惑:

#!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(系统版).

testing perl utf-8

9
推荐指数
1
解决办法
2730
查看次数

标签 统计

perl ×1

testing ×1

utf-8 ×1