Perl 变量上下文
Perl 对同一变量的处理方式取决于上下文,即变量的适用情境。我们来看以下示例 -
示例
#!/usr/bin/perl @names = ('John Paul', 'Lisa', 'Kumar'); @copy = @names; $size = @names; print "Given names are : @copy\n"; print "Number of names are : $size\n";
输出
这将产生以下结果 -
Given names are : John Paul Lisa Kumar Number of names are : 3
此处,@names 是一个数组,它已在两个不同的上下文中使用。首先,我们将其复制到另一个数组(即 list),因此,它返回列表上下文中假设所有元素的列表。接下来,我们使用同一个数组,并尝试将此数组存储在标量中,因此在本例中,它只返回数组中元素的数量,假设上下文中是标量上下文。以下表格列出了不同的上下文。-
序号 | 上下文和描述 |
---|---|
1 | 标量 向标量变量赋值是在标量上下文中计算右侧。 |
2 | 列表 向数组或哈希赋值是在列表上下文中计算右侧。 |
3 | 布尔值 布尔值上下文仅仅是计算表达式以查看它为真或为假的地方。 |
4 | 空值 该上下文不仅不在乎返回的值是什么,甚至也不需要有返回值。 |
5 | 内插 此文本仅适用于报价或类似报价的内容内部 |
广告