perl中函数调用的问题

我想写个简单的程序,做练习用,刚接触这个。就是连续数字的和。传入起始值和结束值(如传入1,和10,就求1到10累加的值)。perl这种语言感觉太恶心了,怎么写都错,完全没... 我想写个简单的程序,做练习用,刚接触这个。就是连续数字的和。传入起始值和结束值(如传入1,和10,就求1到10累加的值)。perl这种语言感觉太恶心了,怎么写都错,完全没C C# Java那么清晰。
sub myfunc(){
($startIndex,$endIndex)=@_;
my $sum = 0;
for($i=$startIndex;$i<=$endIndex;$i++){
$sum = $sum+$i;
}
return $sum;
}
my $startIndex = 1;
my $endIndex = 10;
$s = myfunc();
print "$s";

上面的怎么错了。写成myfunc(1,10)时错的更厉害,完全弄不清楚perl是怎么搞的。
还有函数里声明的变量默认是my 还是local的。
哪位大虾帮我看看,把程序更正下!谢谢...........
展开
 我来答
zhlong8
推荐于2016-11-19 · 超过14用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:0
展开全部
sub myfunc {
my ($start, $end) = @_;
my $sum = 0;
$sum+= $_ for $start .. ($end+1);
return $sum;
}

print myfunc 1, 10;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kokkokkko
2010-09-06 · 超过20用户采纳过TA的回答
知道答主
回答量:71
采纳率:100%
帮助的人:29.3万
展开全部
#子过程和函数不一样
sub myfunc
{
my ($startIndex,$endIndex)=@_;
my $sum = 0;
for($i=$startIndex;$i<=$endIndex;$i++){
$sum += $i;
}
return $sum;
}
my $startIndex = 1;
my $endIndex = 10;
$s = myfunc($startIndex ,$endIndex);

print "sum is $s\n";

写perl了?找本骆驼书看吧.
感觉太恶心?那是因为它的作者是个语言学家-_-##
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Tony200433
2012-11-16
知道答主
回答量:2
采纳率:0%
帮助的人:2299
展开全部
#!/usr/bin/perl -w
sub myfunc(){
(my $startIndex,my $endIndex)=@_;
my $sum = 0;
for($i=$startIndex;$i<=$endIndex;$i++){
$sum = $sum+$i;
}
return $sum;
}
$s = &myfunc(1,10);
print "$s\n";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式