Я хочу рассчитать частоту появления символов в сообщении с помощью Perl. Например, если символ «a» появляется в сообщении 10 раз, тогда частота будет равна 10. Чтобы сделать это, я читаю сообщение с одного элемента FILE за один раз, используя функцию getc. Вот фрагмент, который я написал. Я знаю, это очень просто. Но когда я компилирую, я получаю сообщение об ошибке:Почему моя программа с использованием функции getc Perl работает неправильно?
Детали:
#!/usr/bin/perl
use strict;
use warnings;
my $input=$ARGV[0];
open(INPUT,"<$input");
while(<INPUT>
{
my $c=getc(INPUT);
print $c."\n";
}
close(INPUT);
я получаю ошибку ниже, когда я пытаюсь скомпилировать его:
Use of uninitialized value in print at AccessChar.pl line 13, <INPUT> line 1.
Я не в состоянии фигуры вне, что не так с этим скриптом. Может ли кто-нибудь помочь мне с этим?
Я даже попытался использовать getc
INPUT вместо getc(INPUT)
. Я не думаю, что мне нужно включать любые другие пакеты во время запуска этого скрипта.
У вас есть синтаксическая ошибка в этом фрагменте (в строке 'while'). – Mat
'getc' не работает ... О, да, это так. –