小编daj*_*oto的帖子

在Perl中,如何检查数组是否与其内容中至少列出一次的值相匹配?

我之前从未真正使用过Perl(尽可能避免使用它),所以我对这个主题的知识很少.

我知道我正在查看的脚本在@ :: s_Ship_sShipProducts中有一个ProductID值数组.

我试图看看数组中的任何ProductID是以B还是S开头并执行一个函数,否则执行另一个函数.但我最终得到的是每个ProductID做声明.这就是我(诚然被打捞)所拥有的.

my $i;
for $i (0 .. $#::s_Ship_sShipProducts) # for each product
    if  ($::s_Ship_sShipProducts[$i] =~ /^(B|S)/) # Determine if B or S product
        {
        if (defined $phashBandDefinition->{'FreeOver'} && CalculatePrice() > 250)
        {$nCost = 0;}
        }
    else    {
        if (defined $phashBandDefinition->{'FreeOver'} && CalculatePrice() > $phashBandDefinition->{'FreeOver'})
        {$nCost = 0;}
        }
Run Code Online (Sandbox Code Playgroud)

我怎么能改变这个以便检查数组以查看是否有任何ProductID为真并返回true,如果没有匹配则返回false?然后根据true或false执行相应的函数?我做了一些阅读,但仍然在黑暗中.谢谢你的时间.

arrays perl match

1
推荐指数
1
解决办法
138
查看次数

标签 统计

arrays ×1

match ×1

perl ×1