首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >perl引用散列,其中有两个相似的单词未全部计算在内

perl引用散列,其中有两个相似的单词未全部计算在内
EN

Stack Overflow用户
提问于 2016-06-30 01:11:22
回答 1查看 34关注 0票数 0

我正在编写一个Perl项目,面临的问题如下:我有一个很大的输入文件,其中有一个注释文件和一个收入字段。评论字段可以有DTN或Cluster Master DTN,这两个字段的收入都是300,可以计入它们自己的类别。以下是代码的一部分:

代码语言:javascript
复制
elsif ($comments == /DTN/i and $revenue == 300)
{
    $class = 'DTN';
}

elsif ($revenue == 300)
{
    if ($comments =~ /cluster master\+DTN/i)
    {
        $class = 'SLA Cluster Master + DTN';
    }
    elsif ($comments =~ /cluster master and DTN/i)
    {   
        $class = 'SLA Cluster Master + DTN';
    }
}

在输出tho中,它将收入的数量计数为DTN字段的数量,并且它只将'cluster master+DTN‘的评论计数为SLA集群主机+ DTN,而不是'cluster Master and DTN’,后者也应该被计算在内。我不知道发生了什么,也不知道如何解决这个问题。还有没有其他人有同样的问题?

EN

回答 1

Stack Overflow用户

发布于 2016-06-30 01:21:48

第一个elsif ($comments == /DTN/i and $revenue == 300)全错了。

你想要elsif ($comments =~ /DTN/i and $revenue == 300)

或者,我怀疑实际上您可能希望elsif ($comments =~ /^DTN$/i and $revenue == 300)给您一个精确匹配,而不是$comments字符串中的任何位置的匹配,因为没有它,您将永远不会命中下面的$class=语句。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38106106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档