Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何向现有条件表达式添加条件?_Perl - Fatal编程技术网

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

Perl 如何向现有条件表达式添加条件?,perl,Perl,我让一个程序员为我的站点编写了一个Perl脚本 其中一个功能是在满足特定条件时更新价格/库存 # update when price/stock conditions met if ( ($force_price_updates == 1) || ($data->{'price'} <= $product_price && $data->{'quantity'} > 0) || ($product_quantity == 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) ) {
#当价格/库存条件满足时更新
如果($force_price_updates==1)|
($data->{'price'}{'quantity'}>0)||
($product_quantity==0&&$data->{'quantity'}>0)){
上面没有做的是,如果新的价格更高,就不会更新价格。它会更新股票价值,但如果新的股票价格更高,我就输了。股票会更新,但价格不会更新

该脚本经过许多提要,如果在任何提要中发现相同的产品,则该脚本应根据上述规则修改价格/库存变化


我找不到程序员,而且我的Perl知识有限。我理解代码在做什么,但不知道如果价格更高,库存大于零,它应该做什么。

您可以在该语句中添加额外的条件

您希望匹配的条件是:

$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)) {
if($force_price_updates==1)|($data->{'price'}{'quantity'}>0)|($product_quantity==0&&$data->{'quantity'}>0)|($data->{'price'}>$product price&$product_quantity>0)){

哪一个是新价格?
$data->{price}
$product\u price
?$data->{price}是新价格考虑添加换行符以使其更具可读性!当所有运算符都在一个大行中时,很难看到它们的优先级