我疑惑这个测试脚本:为什么我的Perl测试失败,使用编码'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');
三个测试失败,但我期待的是use encoding 'utf8'
既能字面áá
和qr
基于正则表达式升级为utf8字符串,从而传递试验。
如果我删除use encoding
行测试通过了预期,但我不知道为什么他们会在utf8
模式下失败。
我在Mac OS X(系统版本)上使用perl 5.8.8。
在过去我总是使用`use utf8`并且在去年左右的某个时候,我看到某处'使用utf8'被破坏,我应该使用`use encoding'utf8'`。 看来我需要再次重温整个问题...... 谢谢 – melo 2009-01-29 21:39:47