我正在嘗試編寫一個簡單的perl腳本來學習Perl。這是我用用戶輸入編寫的第一個腳本,它對我來說很簡單:P腳本需要獲得用戶輸入的一系列數字並找到它們的平均值。我想使用'文件結束'這一行來顯示用戶已經完成輸入代碼。任何幫助,將不勝感激。以下是我到目前爲止。我想我非常接近,但我錯過了一些東西。Perl程序來計算用戶輸入的數字的總和
代碼:
#! /usr/bin/perl
use 5.010;
print "Enter the scores and type end-of-file when done";
chomp(@scores = <STDIN>);
foreach (@scores) {
push_average(total(@scores));
}
sub total {
my $sum;
foreach (@_) {
$sum += $_;
}
sum;
}
sub average {
if (@_ == 0) {return}
my $count = @_;
my $sum = total(@_);
$sum/$count;
}
sub push_average {
my $average = average(@_);
my @list;
push @list, $average;
return @list;
}
WOW。這比我想要做的要簡單得多......如果它試圖用0除以,你將如何處理? – JLott
剛剛添加了處理該代碼的代碼:如果參數數組「@ _」爲空,則返回「undef」 - 這是有意義的,因爲沒有定義0÷0。我測試了定義的子的返回值,可能會打印出'undefined'字符串。這使得一個不錯的用戶界面。 – amon
好的。真棒!它似乎在工作。非常感謝你的幫助。 – JLott