3 Perl - 访问数组元素

访问数组元素
如果你使用过其它语言的数组,那对于Perl 可以通过索引值来访问元素的做法不会觉得奇怪。
数组中的元素是由连续整数编了号的,其从0 开始,每增加一个元素,其索引值加一,如:
$fred[0] = “yabba”;
$fred[1]= “dabba”;
$fred[2] = “doo”;
数组名字(本例中:fred)和标量是属于完全不同的命名空间(namespace)。同一程序也可以同时包含叫做$fred 的标量变
量。Perl 将它们当作完全不同的事物来看待,不会混淆◆。(但维护人员可能混淆,所以最好不要将它们以相同的名字来命
名)。
◆语法总是无二义性的;也许有些技巧,但是确定的。
可以在任何◆能够使用标量变量(如$fred)的地方使用数组元素(如$fred[2])。例如,可以使用上一章介绍的方法来获得
数组元素的值,或者改变它。
◆实际上是绝大多数。最明显的例外是foreach 循环中的控制变量(在本章后面将介绍到), 必须是标量变量。还有些例外,如print 和printf
的“indirect object slot”和“indirect filehandle slot”。

print $fred[0];
$fred[2] = “diddley”;
$fred[1] .= “whatsis”


当然,下标可以是任何能返回数值的表达式。如果其值不为整数,则自动将其转换为小于它的最大整数值:
$number = 2.71828;
print $fred[$number-1]; #和print $fred[1]一样


如果下标超出了数组的范围,则其值为undef。这和通常的变量情况是一样的,如果没有值存放在变量中,则其为undef。
$blank = $fred [142_857] #此数组元素未存放值,得到undef
$blanc = $mel; #$mel 未存放值(未初始化),得到undef

你可能感兴趣的:(object,perl,语言)