Я пытаюсь написать программу с Perl, которая должна возвращать частоту всех слов в файле и длину каждого слова в файле (не сумму всех символов!), Чтобы получить кривую Zipf из испанского текста(не имеет большого значения, если вы не знаете, что такое кривая Зипфа).Теперь моя проблема: я могу сделать первую часть, и я получаю частоту всех слов, но я не знаю, как определить длину каждого слова!:( Я знаю командную строку $ word_length = length ($ words) , но после попытки изменить код я действительно не знаю, куда мне его включить и как посчитать длину для каждого слова.
Вот так выглядит мой код, пока не узнаешь:
#!/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__
Надеюсь, у кого-нибудь есть предложения!