Perlスクリプトについて説明してください。

Perlスクリプトについて説明してください。

1行に1単語ずつ含まれるテキストファイルを読み取るPerlプログラムを作成します。キーで読み取った単語と値で読み取った回数を含むハッシュを作成します。各単語とその頻度を印刷します。

print $ARGV[0]."\n";

open (FILE,$ARGV[0]);
while ($line = <FILE>)
{
        chomp($line);
        if (exists($count{$line}))
        {
            $count{$line}++;
        }
        else
        {
            $count{$line} = 1;
        }
}

while ( ($word,$occurrences) = each(%count))
{
    print $word."  ".$occurrences."\n";

}
  1. open INFILE交換してはいけませんかFILE

  2. $count{$line}$count:ここでの機能は何ですか?ただ書くことはできませんか$line++

  3. この文章を説明してもらえますか?

    while ( ($word,$occurrences) = each(%count))
    

答え1

  1. ファイルハンドル名には特別な意味はありません。未使用またはSTDOUTファイルハンドル名として使用されませSTDINん。と同じように動作しますが、一部は読みやすさを好むかもしれません。ファイル処理の問題に関する貴重な洞察を得るには、以下のMatのヒントを参照してください。STDERRFILEINFILEINFILE
  2. %count各単語の発生回数を格納するために使用されるハッシュ値。
  3. パールドックページeach ここ。デフォルトでは、この行はハッシュのキーと値のペアを繰り返し、キーを変数に割り当て、ハッシュのキーと値を変数に割り当て$wordます$occurrences

関連情報