为什么定义的函数不起作用?
我有一段代码无法按我期望的方式工作。主要是定义的函数不起作用。
@jobs = qw[job1 undef job2];
if(defined($jobs[1])) {
print "Job 1 is defined";
}
我清楚地得到输出
Job 1 is defined
$jobs[1]
是 undef
。我缺少什么?
I have a piece of code which does not work as I expect it to work. MAinly the defined function does not work.
@jobs = qw[job1 undef job2];
if(defined($jobs[1])) {
print "Job 1 is defined";
}
I get the output
Job 1 is defined
clearly $jobs[1]
is undef
. What am I missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于您使用的是
qw
,因此您的代码相当于:因此
$jobs[1]
是 string"undef" 与
undef
不同,因此其行为也不同。如果您希望第二个作业是
undef
,您可以这样做:据我所知,您无法使用
qw
完成此操作。Since you are using
qw
, your code is equivalent to:So
$jobs[1]
is the string"undef"
which is not same asundef
and hence the behavior.If you want the second job to be an
undef
you can do:AFAIK you cannot get this done using
qw
.