特殊的数组索引
如果将一个元素存储在数组最后元素的后面的位置,数组会自动增长的。Perl 没有长度的限制,只要你有足够的内存。如
果Perl 需要创建元素,则其值为undef。
$rocks[0] = ‘bedrock’; #一个元素
$rocks[1] = ‘slate’; #又一个
$rocks[2] = ‘lava’; #又一个
$rocks[3] = ‘crushed rock’;#又一个
$rocks[99] = ‘schist’; #现在有95 个undef 元素
有时需要知道数组最后一个元素的索引。刚才使用的rocks 数组,其最后一个元素的索引为$#rocks ◆。这和数组中元素的
个数是不同的,因为数组中包含元素0。(换句话说,最后一个元素的索引值要比其实际包含的元素个数少一,译者注)。
◆这种糟糕的语法来源于C shell。庆幸的是,在实际的代码中并不常见。
$end = $#rocks; #99,最后一个元素的索引
$number_of_rocks = $end + 1; #正确,但有更好的方法
$rocks[$#rocks] = ‘hard rock’; #the last rock