Perl return操作符

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" );

你可能感兴趣的:(Perl return操作符)