如何在perl中检查空标量?如果我没有$list,我不想发送电子邮件.
我可以在send_email例程中检查空消息还是在外面执行此操作?
我有一个使用Win32::OLE的查询.
my $servSet = $wmiObj->ExecQuery("SELECT * FROM Win32_Service WHERE displayName LIKE 'ServiceNameHere%'","WQL",wbemFlagReturnImmediately | wbemFlagForwardOnly);
foreach my $serv (in $servSet) { next if $serv->{started}; my $sname = $serv->{name}; my $sstate = $serv->{started}; my $ssmode = $serv->{startmode}; $list .= "Service: $sname - $sstate - $ssmode\n"; }
我使用$list作为电子邮件的正文发送:
sub send_email { ... .. $smtp->datasend($list); .. . }
解决方法
在Perl中,undef,“”(以及0和“0”)计算为“false”.所以你可以做一个布尔测试:
send_email() if $list;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。