在perl 5.8.5中,如果我执行以下操作,则不会出现错误:为什么undef值在Perl中成为有效的数组引用?
use strict;
my $a = undef;
foreach my $el (@$a) {
...whatever
}
这里发生了什么?打印出ref($a)
的输出表明$a
在某些时候变为有效的数组引用。但我从来没有明确地将$a
设置为任何东西。
似乎很奇怪,如果没有我做任何事情,变量的内容可能会改变。
想,有人吗?
编辑:是的,我知道所有关于自动生存的知识。我一直认为必须在某个地方有一个任务来触发它,而不仅仅是一个参考。
这是perl。奇怪很好,因为它很奇怪。 – 2009-10-29 13:30:23
我不认为这很奇怪,只是为了节省一些声明。 – 2009-10-29 13:44:05
@Stefano:为什么麻烦检查Perl的问题只为巨魔?它很单调乏味...... – Telemachus 2009-10-29 16:45:00