我想用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