我们都知道Perl中一般可以用foreach这种写法遍历数组中元素,但我们偶尔也可能需要用到while这种遍历的方法。我在使用while时发现自己犯了一个很让人无语的错误,估计其他朋友也可能遇到,所以简单记录一下,看看下面两种循环方式:
foreach $package (@dependency_package_list){
print $package->longname(),"\n";
}
$i=0;
while($i<$not_unique_dependency_length){
print $dependency_package_list[i]->longname(),"\n";
$i=$i+1;
}
大家也不需要了解具体的含义,就是打印出数组中元素的一些属性,但是这样写的时候,发现第二种写法怎么都不对,觉得很纳闷。仔细看了半天,才发现问题所在:下面中括号里的i应该写成$i,由于写C,Java以及其他语言都没有这种习惯,所以导致顺手就写成上面代码这种形式了。
我觉得很多朋友都可能犯类似的错误,所以简单记录一下。