6. return 操作符
- return 函数在子程序,块或do函数的末尾返回某个值,返回值可以是标量,数组或哈希值,上下文将在执行时选择。
- 如果未给出返回值,则在列表上下文中返回一个空列表,在标量上下文中返回undef,在空上下文中不返回任何内容。
- return 操作符会立即停止运行的子程序,并从子程序内返回某个值。
#!/usr/bin/perl
use strict;
use warnings;
my @names = qw( fred barney betty dino wilma pebbles bamm-bamm);
my $result = &which_element_is("dino", @names);
print $result . "\n\n";
sub which_element_is {
my($what, @array) = @_;
foreach (0..$#array) {
if ($what eq $array[$_]) {
return $_;
}
}
-1 # 写成return -1 也行,但因为这里是最后一行,可以省略return,不过写了读起来更明朗些
}
sub Mul {
my($a, $b) = @_;
my $c = $a * $b;
# Return Value
return($a, $b, $c);
}
# Calling in Scalar context
my $retval_sca = &Mul(25, 10); # 只返回$c
print ("Return value is $retval_sca\n" );
# Calling in list context
my @retval_arr = &Mul(25, 10); # 返回$a $b $c
print ("Return value is @retval_arr\n" );
网友评论