题
我有一件代码,该代码无法正常工作,因为它希望它能起作用。主要的定义函数不起作用。
@jobs = qw[job1 undef job2];
if(defined($jobs[1])) {
print "Job 1 is defined";
}
我得到输出
Job 1 is defined
清楚地 $jobs[1]
是 undef
. 。我想念什么?
解决方案
因为您正在使用 qw
, ,您的代码等同于:
@jobs = ("job1", "undef", "job2");
所以 $jobs[1]
是个 细绳 "undef"
与 undef
因此,行为。
如果您希望第二份工作是 undef
你可以做:
@jobs = ("job1", undef, "job2");
afaik你无法使用 qw
.
不隶属于 StackOverflow