今天又看了些perl的語法,发现了以前的一些误区
1.foreach
foreach $n (@list)
{
#todo your code
}
在内部如果对$n进行操作是会改变原来@list里面的原始数据的
2.sort
sort对元素一律以字符串看待,奇了怪了,我还用它来排过数字,居然恰好没有出错,骗了我这么久
3.未赋值的数组,什么也没有
一直以为将一个未赋值的数组复制到另一个数组后占一个空元素的位置,原来什么也不占。。
4.将数组赋空
正确的做法应该是:@a=();
而不是:@a=undef;
因为undef是个标量值,第二个做法得到长度为1(有一个空元素)的数组。
5.对数组的打印
很难想象下面这三条语句会是完全不同的結果:
在我输入以下三行字符后:
liu
zhang
wang
输出結果如下:
3
liuzhangwang
liu zhang wang
这其中的上下文理解就免了,头大!