scalar可以求数组的长度,但是,在scalar的说明里面并没有这一项。
Forces EXPR to be interpreted in scalar context and returns the value of EXPR.
中文含义:强制表达式EXPR在标量上下文进行解释。
假如,我定义了一个数组@arr=("one","two","three"),该数组在标量环境下返回自身的长度。
print @arr; #列表上下文,返回@arr元素 print scalar @arr #强制数组arr在标量上下文,这时,返回arr长度。
完整的例子:
[vagrant@bio ~]$ cat t.pl #!/usr/bin/env perl use v5.26; use warnings; my @arr=("hello","world"); say @arr; #默认列表上下文 say scalar @arr; #强制标量上下文 [vagrant@bio ~]$ perl t.pl helloworld 2