use*_*452 2 arrays string perl undef
我有一段代码,它不起作用,因为我希望它工作.主要是定义的功能不起作用.
@jobs = qw[job1 undef job2];
if(defined($jobs[1])) {
print "Job 1 is defined";
}
Run Code Online (Sandbox Code Playgroud)
我得到了输出
Job 1 is defined
Run Code Online (Sandbox Code Playgroud)
显然$jobs[1]是undef.我错过了什么?
cod*_*ict 10
由于您使用qw,您的代码相当于:
@jobs = ("job1", "undef", "job2");
Run Code Online (Sandbox Code Playgroud)
所以$jobs[1]是字符串 "undef"这是不一样的undef,因此行为.
如果你想要第二份工作,undef你可以做:
@jobs = ("job1", undef, "job2");
Run Code Online (Sandbox Code Playgroud)
AFAIK你无法完成这项工作qw.