我正在尝试找到一个在perl webapp中大写名称的解决方案(使用perl v5.10.1).我原本以为使用Lingua :: EN :: NameCase,但我看到了重音字符的一些问题.
我需要能够处理来自各种欧洲语言(爱尔兰语,法语,德语)的重音字符.
我在网上看到一些迹象表明Lingua :: EN :: NameCase应该适用于我的用例.例如,perlmonks上的这个页面:http://www.perlmonks.org/?node_id = 889135
这是我基于以上链接的测试代码:
#!/usr/bin/perl
use strict;
use warnings;
use Lingua::EN::NameCase;
use locale;
use POSIX qw(locale_h);
my $locale = 'en_FR.utf8';
setlocale( LC_CTYPE, $locale );
binmode DATA, ':encoding(UTF-8)';
binmode STDOUT, ':encoding(UTF-8)';
while (my $original_name = <DATA>) {
chomp $original_name;
my $normalized_name = nc($original_name);
printf "%30s L::EN::NC %30s UCFIRST %30s\n", $original_name, $normalized_name, xlc($original_name);
}
sub xlc {
my $str = shift;
$_ = lc( $str );
return join …
Run Code Online (Sandbox Code Playgroud)