use strict;
use warnings;
use feature 'say';
my @array = ( 'a', 'b', 'c', 'd' );
my $aref = [ 'a', 'b', 'c', 'd' ];
my $elem = ( 'a', 'b', 'c', 'd' );
my $last = @array[-1];
my @slice = @array[0,2..3];
my $count = scalar @array;
my $index_max = $#array;
say "
\@array = @array array
\$aref = $aref array reference (holds address of anonymous array)
\$elem = $elem last element of array (useless void context warnings)
\$last = $last last element of array
\@slice = @slice array slice
\$count = $count count array elements
\$index_max = $index_max max array index
Note: array index starts with 0
";
产出
Useless use of a constant ("a") in void context at C:\temp\work\perl\examples\array_demo.pl line 7.
Useless use of a constant ("b") in void context at C:\temp\work\perl\examples\array_demo.pl line 7.
Useless use of a constant ("c") in void context at C:\temp\work\perl\examples\array_demo.pl line 7.
@array = a b c d array
$aref = ARRAY(0x107a790) array reference (holds address of anonymous array)
$elem = d last element of array (useless void context warnings)
$last = d last element of array
@slice = a c d array slice
$count = 4 count array elements
$index_max = 3 max array index
Note: array index starts with 0
2条答案
按热度按时间byqmnocz1#
上下文影响运算符返回的内容。
这是一个列表赋值运算符,因为
=
的左边"看起来是列表的"。列表赋值运算符在列表上下文中计算它的右边。列表上下文中的逗号运算符计算列表上下文中的每个操作数,并产生由其操作数产生的所有标量。
这是一个标量赋值运算符,因为
=
"的左边看起来不像列表"。标量赋值运算符在标量上下文中计算它的右边。标量上下文中的数组生成数组中的元素数。
这是一个标量赋值运算符,因为
=
"的左侧看起来不像列表"。标量赋值运算符在标量上下文中计算其右侧。标量上下文中的逗号运算符计算void上下文中除最后一个操作数之外的所有操作数,然后计算标量上下文中的最后一个操作数。它生成由该最后一个操作数生成的标量。
这意味着
类似于
(Just没有词法作用域。)
参考:
ajsxfq5m2#
阵列使用情况摘要
产出
一些阵列教程: