Perl中的NYSIIS算法

Perl中的NYSIIS算法,perl,character,Perl,Character,我尝试在perl中使用NYSIIS模块: 我尝试了示例程序: #!/usr/bin/perl use 5.10.0; use String::Nysiis qw(nysiis); my $enc = nysiis($string); print nysiis('Larry'),"\n"; # should print LARY 它确实打印LARY,但它也给了我一个错误:“在C:/Perl/site/lib/string/Nysiis.pm第24行的uc中使用未初始化值$string。”

我尝试在perl中使用NYSIIS模块:

我尝试了示例程序:

#!/usr/bin/perl

use 5.10.0;
use String::Nysiis qw(nysiis);

my $enc = nysiis($string);

print nysiis('Larry'),"\n"; # should print LARY
它确实打印LARY,但它也给了我一个错误:“在C:/Perl/site/lib/string/Nysiis.pm第24行的uc中使用未初始化值$string。”

当我安装了ppm String::Nysiis时,我被告知“没有要安装的丢失的软件包”


如何防止生成此警告(或错误)

您使用此行中未初始化的变量调用它:

my $enc = nysiis($string);

去掉那一行,或者先初始化$string(然后使用$enc)。

@user2096518,您没有使用它,因为您没有使用
use strict;使用警告。总是这样。