如何向现有条件表达式添加条件?

问题描述:

我让程序员为我的网站写了一个Perl脚本。如何向现有条件表达式添加条件?

其中一项功能是在满足特定条件时更新价格/库存。

# update when price/stock conditions met 
if (($force_price_updates == 1) || 
    ($data->{'price'} <= $product_price && $data->{'quantity'} > 0) || 
    ($product_quantity == 0 && $data->{'quantity'} > 0)) { 

如果新价格较高,上述不做的是不更新价格。它更新股票价值,但如果新股价格更高,我就会失去。股票得到更新,但价格不是。

该脚本通过多个订阅源,并且如果在任何订阅源中找到相同的产品,脚本应根据上述规则修改价格/库存更改。

我找不到程序员,我的Perl知识有限。我明白代码在做什么,但不知道如果价格更高,股价大于零,应该怎么做。

+0

哪一个是新的价格是多少? '$ data - > {price}'或'$ product_price'? – mob

+0

$ data - > {price}是新的价格 – user957263

+0

考虑添加换行符以使其更具可读性!当一切都很大时,真的很难看到运营商的优先级 – plusplus

您可以将您要查找的额外条件添加到该语句中。

你正在寻找匹配的条件是:

$data->{'price'} > $product_price && $product_quantity > 0 

所以最终版本是这样的:

if (($force_price_updates == 1) || ($data->{'price'} <= $product_price && $data->{'quantity'} > 0) || ($product_quantity == 0 && $data->{'quantity'} > 0) || ($data->{'price'} > $product_price && $product_quantity > 0)) {