【发布时间】:2013-06-01 16:39:47
【问题描述】:
在这段代码中,使用了两次 shift,尽管该方法只接受一个参数:
sub regexVerify ($)
{
my $re = shift;
return sub
{
local $_ = shift;
m/$re/ ? $_ : undef;
};
}
一旦再次使用 shift,这会使本地 $_ 的值变成什么?我(也许天真地)假设转变为虚无会导致undef。但如果是这样的话,这句话就没有意义了,对吧?:
m/$re/ ? $_ : undef;
上面的子调用如下:
regexVerify (qr/^([a-z].*)?$/i);
【问题讨论】:
-
标题问题的答案是:
undef。
标签: arrays perl null shift undef