【问题标题】:how to use if else in array [duplicate]如何在数组中使用if else [重复]
【发布时间】:2015-11-03 11:59:27
【问题描述】:

我想在数组中使用if else 条件。在传递数组元素时,我得到了错误的数据。

这是我的代码

print "Enter Item u want: ";

$i=<>;

@array=("coffee","tea","buttermilk");

%hash = map{ $_ =>1 }@array;

if(exists($para{$i})){

    print "available \n";

}

else{

    print "Not available \n";

}

即使我传递数组项,我也收到不可用的消息

【问题讨论】:

    标签: perl perl-module mod-perl


    【解决方案1】:

    首先构建哈希对我来说似乎很复杂,为什么不使用 grep?

    if ( grep { $_ eq $in }@array ){
    print "available\n";
    }else{
    print "not available\n";
    }
    

    【讨论】:

      【解决方案2】:

      您从&lt;&gt; 读取的值将包含换行符。哈希中的所有键都不包含换行符。因此,$i 永远不会在您的哈希中找到。

      您想使用chomp()$i 中删除换行符。

      chomp($i = <>);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-20
        • 1970-01-01
        • 1970-01-01
        • 2015-02-14
        相关资源
        最近更新 更多