我想用Perl编写一个程序,它应该返回文件中所有单词的频率和文件中每个单词的长度(不是所有字符的总和! )从西班牙语文本中生成一条Zipf曲线(如果您不知道Zipf曲线是什么,则不算什么大问题)。现在我的问题是:我可以做的第一部分,我得到的所有字的频率,但我不怎么得到每个字的长度! :(我知道在命令行 $ word_length =长度($字),但试图改变代码后,我真的不知道我应该包括它,以及如何计算每个单词的长度。用Perl编写文本中每个单词的字母
这是我的代码看起来像,直到知道:
#!/usr/bin/perl
use strict;
use warnings;
my %count_of;
while (my $line = <>) { #read from file or STDIN
foreach my $word (split /\s+/gi, $line){
$count_of{$word}++;
}
}
print "All words and their counts: \n";
for my $word (sort keys %count_of) {
print "$word: $count_of{$word}\n";
}
__END__
我希望有人有任何建议
的'gi'标志:'分裂/ \ s + /,$ line' – toolic 2011-05-31 14:42:22
你不妨检查一下这个问题:http://stackoverflow.com/questions/6170985/counting-individual-单词文本文件当你像你的文件一样进行分割时,你最终会得到'单词','单词'和'单词',它们都被视为不同的单词,这可能不是你想要的。 – TLP 2011-05-31 17:22:03