duo
DUOの英文一覧が載ってるサイトを見つけてきました。perlの練習がてら英文を分解して単語ごとの出現回数を見てみようと思います。
まずperlの正規表現でゴミを掃除して改行します。
ところどころ空白行が残っていたのでエクセルで消しました。(空白行だけを一気に削除)
s/[\d]+\.\s|[^a-zA-Z|'|-]/\n/g;
(初めてのPerlの練習問題6.6.2を参考に)各単語が何回出現したかを表示します。ファイル操作している以外練習問題とほぼ同じ。
use strict; use warnings; use utf8; open(FILE, "count.txt"); chomp(my @words = <FILE>); close(FILE); open(FILE, ">count.txt"); my (%count, $word); foreach $word (@words) { $word =~ tr/[A-Z]/[a-z]/; #小文字に統一 $count{$word} += 1; } foreach $word (keys %count) { print FILE "$word($count{$word})\n"; #FILEハンドルを忘れてハマった } close(FILE);
ちなみに、1億の単語から抽出したというこちらのサイトによると、
the, of, and, to, a, in, that, it, is, was, i, for, on, you, he
の順に出現頻度が高いようです。。