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的。

DIEA
浏览 851回答 3
3回答

萧十郎

sub myfunc {my ($start, $end) = @_;my $sum = 0;$sum+= $_ for $start .. ($end+1);return $sum;}print myfunc 1, 10;

慕桂英546537

#!/usr/bin/perl -wsub 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";&nbsp;

MMTTMM

#子过程和函数不一样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";
打开App,查看更多内容
随时随地看视频慕课网APP