列表是标量的有序集。数组是包含列表的变量。在Perl 中这个两个术语是可以互换的。但严格意义上讲,列表是指数据,而数组是其变量名。
列表与数组最主要的区别在于在标量环境中,数组被解释为其长度,而列表则被解释为其最后一个元素,此时列表相当于由逗号操作符组成的表达式。
@arr = (11, 22, 12);
$numa = @arr;
$numb = (11, 22, 12);
printf "numa is %d, numb is %d\n", $numa, $numb;
将会输出
numa is 3, numb is 12
对于函数返回,同样如此:
sub arr_a{
@arr = (11, 22, 12);#返回数组
}
sub arr_b{
(11, 22, 12);#返回列表
}
$num_a = arr_a();
$num_b = arr_b();
printf "num_a=%d, num_b=%d\n", $num_a, $num_b;
输出
num_a=3, num_b=12
阅读(1004) | 评论(0) | 转发(0) |