Cha*_*les 5 perl hash dereference
用Text::Ngram
我有
my $c = ngram_counts($text, 3);
my %ct = %($c);
Run Code Online (Sandbox Code Playgroud)
这不起作用(Scalar found where operator expected
).我认为这是一个不知道我在做什么(仍然不是很好用Perl)和对我从Text :: Ngram输出的确切内容感到困惑的组合.救命?我只想看一下生成的n-gram:
my @keys = sort {$ct{$a} cmp $ct{$b} } keys %ct;
foreach my $k (@keys) {
print "$k: $ct{$k}\n"
}
Run Code Online (Sandbox Code Playgroud)
编辑:我的愚蠢错误,谢谢大家.
Zai*_*aid 13
使用花括号取消引用哈希引用:
my %ct = %{ $ct }; # %$ct would also work
Run Code Online (Sandbox Code Playgroud)
您可能希望使用<=>
数字排序而不是ASCII-betical排序cmp
.