第四章 子程序和返回值

[root@jhoa 2015]# cat 1.pl 
sub marine {
$n = $n + 1;
print "\$n is $n\n";
}

marine;
marine;
marine;
marine;
marine;
marine;
[root@jhoa 2015]# perl 1.pl 
$n is 1
$n is 2
$n is 3
$n is 4
$n is 5
$n is 6

返回值:

sub sum_of_fred_and_barney {
$fred + $barney; ###这就是子程序的返回值
}

子程序的返回值 是最后一次运算的结果 (不管是什么)

[root@jhoa 2015]# cat 2.pl 
sub max {
my ($m,$n); #该语句块中的新私有变量

($m,$n) = @_; #将参数赋值给变量

if ($m > $n) {print "$m\n"} else {print "$n\n"}
}

max (1,2)



sub max {
my ($m,$n); #该语句块中的新私有变量
if (@_ != 2){print "请输入2个参数\n";
exit }
($m,$n) = @_; #将参数赋值给变量

if ($m > $n) {print "$m\n"} else {print "$n\n"}
}

max (1,10,1,2,3,4)

[root@jhoa 2015]# cat 3.pl 
use strict;
$var += 1;
print "\$var is $var\n";
[root@jhoa 2015]# perl 3.pl 
Global symbol "$var" requires explicit package name at 3.pl line 2.
Global symbol "$var" requires explicit package name at 3.pl line 3.
Execution of 3.pl aborted due to compilation errors.


[root@jhoa 2015]# cat 3.pl 
use strict;
my $var += 1;
print "\$var is $var\n";
[root@jhoa 2015]# perl 3.pl 
$var is 1


子程序返回值:

my @names = qw/fred barney betty dino wilma pebbles bamm-bamm/;
#子程序的返回值

my $result = &which_element_is("dino",@names);

sub which_element_is {
my ($what ,@array) = @_;

foreach (0..$#array) { #数组 @array 中所有元素的下标

if ($what eq $array[$_]){
 return $_;          ##一发现就提前返回
     }
}
-1;
}

print "子程序的返回值是 $result\n";


[root@jhoa 2015]# cat a1.pl 
my @names = qw/fred barney betty dino wilma pebbles bamm-bamm/;
#子程序的返回值

my $result = &which_element_is("xxxx",@names);

sub which_element_is {
my ($what ,@array) = @_;

foreach (0..$#array) { #数组 @array 中所有元素的下标

if ($what eq $array[$_]){
 return $_;          ##一发现就提前返回
     }
}
return -1;
}

print "子程序的返回值是 $result\n";
[root@jhoa 2015]# perl a1.pl 
子程序的返回值是 -1
























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值