我有以下腳本:Perl腳本錯誤; 「未初始化的值」?
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'的結果是什麼?) – 2012-03-12 22:50:30
會在循環之外設置「sum」爲零嗎? – 2012-03-12 22:55:36