1.传递引用参数
传递引用能免去传入参数时的复制操作。
2.返回引用参数
既然传递引用能免去传入参数时的复制操作,那么返回数据时同样也可以采取传递引用的方式返回。
当然我们也可以在子程序中返回多个数据,就和给子程序传递参数一样,以便区分:
my ($array_ref,$hash_ref) = make_data_structure(); sub make_data_structure{ # ...... return \@array,\%hash; }
3.用local * 对引用参数本地化
sub max_v_local { local (*a,*b) = @_ ; my $n = @a>@b ? @a: @b; ....... }