Я следующий сценарий:Ошибка в Perl Script; «Неинициализированное значение» ?;
use 5.12.4;
use strict;
use warnings;
say "Enter a functionality:";
while (<>) {
if (/add/) {
say "Enter your numbers:";
my @a = (<>);
my $sum += $_ for @a;
say $sum;
}
}
Когда я запускаю эту программу, предлагающие:
Enter a functionality:
входит add
и говорит:
Enter your numbers:
Я ввести несколько номеров на отдельные строки ввода следуют по [ctrl]Z
и получают следующую ошибку:
Use of uninitialized value $sum in say at C:\myperl\Math-Master\math-master.pl l
ine 11, <> line 9.
Почему мой код не вводит все данные? Почему эта ошибка возникает?
Не могли бы вы уточнить заголовок, чтобы он отражал актуальную проблему? (Подсказка: что является результатом '$ _ for @ a' в случае отказа?) –
Будет ли установка' sum' равным нулю вне цикла, исправить? –