在perl中,表达式的值总是根据所需要的上下文返回对应的值,以数组的名称为例:在列表上下文中,它会产生元素的列表,在标量下下问中,它会产生元素的个数:
@people = qw( fred barney betty);
@sorted = sort @people; # 列表上下文:barney betty fred
$number = 42 + @people; #标量上下文:42 + 3
给列表和数组赋值,都是列表上下文。
$fred = something; # 标量上下文
($fred)= something; # 列表上下文
如果要清空数组,直接赋值一个空列表:@array = ( );
伪函数scalar可以强制指定标量上下文:scalar @rocks
在列表上下文中读取标准输入时可以键入Control-D 来告知系统不会再有任何输入了。