2011-09-21 66 views
0

我讓程序員爲我的網站寫了一個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

回答

1

您可以將您要查找的額外條件添加到該語句中。

你正在尋找匹配的條件是:

$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)) {