加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在Perl中检查空标量?

发布时间:2020-12-15 23:28:56 所属栏目:大数据 来源:网络整理
导读:如何在perl中检查空标量?如果我没有$list,我不想发送电子邮件. 我可以在send_email例程中检查空消息还是在外面执行此操作? 我有一个使用Win32::OLE的查询. my $servSet = $wmiObj-ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName LIKE 'Service
如何在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 - $ssmoden";  
 }

我使用$list作为电子邮件的正文发送:

sub send_email {
...
..
$smtp->datasend($list);
..
.                        
}

解决方法

在Perl中,undef,“”(以及0和“0”)计算为“false”.所以你可以做一个布尔测试:

send_email() if $list;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读