- 论坛徽章:
- 1
|
我是一个perl新手,正在看《perl语言入门》(learning perl)的第四章 ---子例程。
书上67页说:“在子例程的执行过程中,它会不断的进行运算。其中,最后一次运算的结果不管是多少,都会被自动当成子例程的返回值。”
然后看到72的例子:
#!/usr/bin/perl -w
$maximum = &max(3,5,10,4,6);
sub max{
my($max_so_far) = shift @_;
foreach (@_){
if($_ > $max_so_far){
$max_so_far = $_;
}
}
$max_so_far;
}
print $maximum,"\n"; |
我想能不能把max子例程最后的"$max_so_far;"去掉,反正最后执行的表达式为:但是去掉后,输出是空,并不是想象中的最大值10。
#!/usr/bin/perl -w
$maximum = &max(3,5,10,4,6);
sub max{
my($max_so_far) = shift @_;
foreach (@_){
if($_ > $max_so_far){
$max_so_far = $_;
}
}
# $max_so_far;
}
print $maximum,"\n"; |
|
|