举个例子,让 perl 程序以下列方式启动:
use strict;
use warnings;
use Time::HiRes;
有什么区别
my $request_start_epoch = [Time::HiRes::gettimeofday];
和
my $request_start_epoch = Time::HiRes::gettimeofday;
?
举个例子,让 perl 程序以下列方式启动:
use strict;
use warnings;
use Time::HiRes;
有什么区别
my $request_start_epoch = [Time::HiRes::gettimeofday];
和
my $request_start_epoch = Time::HiRes::gettimeofday;
?
前者在列表上下文中调用函数,组装一个包含返回列表元素的匿名数组,并设置$request_start_epoch
对该数组的引用。
后者在标量上下文中调用函数并将其返回值存储在$request_start_epoch
.
这些几乎总是不同的;唯一相同的情况是函数在标量上下文中的行为是将其列表上下文结果包装在匿名数组中并返回对它的引用。我从来没有见过这样写的任何方法,但我敢肯定有人在某个地方做过它!
方括号 [] 将 gettimeofday 返回的内容转换为数组引用。在您的情况下,它将是一个元素数组。
创建数组引用。
$arr_ref = [ 1,2,3,4,5 ];
拒绝它。
@{ $arr_ref };
访问一个元素。
$ { $array_ref }[0]