关于perl的一个程序,出错.

来源:百度知道 编辑:UC知道 时间:2024/05/15 16:06:34
我写了一个perl程序,出现了错误,但又不知道为什么,请请教大家.
use warnings;
use strict;

my @fred=&above_average(1..10);
print"\@fred is @fred\n";
print"(Should be 6 7 8 9 10)\n";
my @barney=&above_average(100,1..10);
print"\@barney is @barney\n";
print"(Should be just 100)\n";

sub return_average{
my(@number)=@_;
my($average)=0;
foreach(0..$#number)
{
$average+=$number[$_];
)
$average=$average/($#number+1);
}

sub above_average{
my(@number)=@_;
my($average)=&return_average(@number);
my(@return_result)=undef;
my($num)=0;
foreach(0..$#number)
{
if($number[$_]>$average)
{
$return_result[$num]=$number[$_];
$num+=1;
}
else
{
$_+=1;
}
}
@return_result;
}
其中$average=$a

 sub return_average {
   my(@number)=@_;
   my($average)=0;
   foreach(0..$#number){
$average += $number[$_];
   }
   $average = $average / ($#number+1);
 }

你那个 foreach  闭合括号写错了!

就是少了一个右括号,说是在第35行,但是哪一个地方都有可能,你自己仔细找一下就ok了!