我有一件代码,该代码无法正常工作,因为它希望它能起作用。主要的定义函数不起作用。

@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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top