use strict; use warnings; use Test::More qw( no_plan ); my $ch = chr(0xE9); # lowercase e acute # Byte semantics utf8::downgrade($ch); ok( $ch !~ /\w/ ); ok( $ch =~ /\W/ ); ok( $ch !~ /[\w]/ ); ok( $ch =~ /[\W]/ ); # Unicode semantics utf8::upgrade($ch); ok( $ch =~ /\w/ ); ok( $ch !~ /\W/ ); ok( $ch =~ /[\w]/ ); # Should fail according to the docs. ok( $ch !~ /[\W]/ ); # Should fail according to the docs. #### >c:\progs\perl588\bin\perl test.pl ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 not ok 8 # Failed test in test.pl at line 20. 1..8 # Looks like you failed 1 test of 8. #### >c:\progs\perl5100\bin\perl test.pl ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 not ok 8 # Failed test at test.pl line 20. 1..8 # Looks like you failed 1 test of 8.