Perl 스크립트에 대해 설명해주세요.

Perl 스크립트에 대해 설명해주세요.

한 줄에 한 단어씩 포함된 텍스트 파일을 읽는 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.

관련 정보