微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Perl中检查空标量?

如何在perl中检查空标量?如果我没有$list,我不想发送电子邮件.

我可以在send_email例程中检查空消息还是在外面执行此操作?

我有一个使用Win32::OLE查询.

my $servSet = $wmiObj->ExecQuery("SELECT * FROM Win32_Service WHERE displayName LIKE 'ServiceNameHere%'","WQL",wbemFlagReturnImmediately | wbemFlagForwardOnly);

在这里循环并构建一个列表$list

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 举报,一经查实,本站将立刻删除。

相关推荐