相关疑难解决方法(0)

从Perl子例程返回一个完整的数组效率低吗?

我经常在Perl中有一个子程序,用一些信息填充数组.由于我也习惯于使用C++进行攻击,我发现自己经常在Perl中这样做,使用引用:

my @array;
getInfo(\@array);

sub getInfo {
   my ($arrayRef) = @_;
   push @$arrayRef, "obama";
   # ...
}
Run Code Online (Sandbox Code Playgroud)

而不是更简单的版本:

my @array = getInfo();

sub getInfo {
   my @array;
   push @array, "obama";
   # ...
   return @array;
}
Run Code Online (Sandbox Code Playgroud)

当然,原因是我不希望在子例程中本地创建数组,然后在返回时复制.

是对的吗?或者Perl是否优化了它?

perl reference function pass-by-reference

14
推荐指数
4
解决办法
2万
查看次数

标签 统计

function ×1

pass-by-reference ×1

perl ×1

reference ×1