您何时需要使用fc()
,何时uc()
会失败?
答案 0 :(得分:11)
fc
用于不区分大小写的比较。
uc($a) cmp uc($b) # XXX
lc($a) cmp lc($b) # XXX
fc($a) cmp fc($b) # ok
这会产生影响的一个例子:
lc uc fc
-- -- -- --
ss ss SS ss
SS ss SS ss
ß ß SS ss
ẞ ß ẞ ss
请注意fc(“ß”)eq fc(“ẞ”),但uc(“ß”)ne uc(“ẞ”)。
请注意fc(“ß”)eq fc(“ss”),但lc(“ß”)ne lc(“ss”)。
该表是使用
生成的use strict;
use warnings;
use feature qw( fc );
use open ':std', ':encoding(UTF-8)';
my $ss = "\N{LATIN SMALL LETTER SHARP S}";
my $SS = "\N{LATIN CAPITAL LETTER SHARP S}";
printf(" lc uc fc\n");
printf("-- -- -- --\n");
printf("%-2s %-2s %-2s %-2s\n", $_, lc($_), uc($_), fc($_))
for 'ss', 'SS', $ss, $SS;