我想出了一个类似的代码:$ avr =($ values [0] // $ values [1])eq’ - ’? 0:($ values [0] // $ values [1]);
‘//’在这里意味着什么?
EXPR1 // EXPR2
相当于
defined(EXPR1) ? EXPR1 : EXPR2
除了 EXPR1 只评估一次。
EXPR1
my $var = $values[1] // $values[2]; $var = 0 if $var eq '-';
可能比清楚的更清楚
my $var = ($values[0] // $values[1]) eq '-' ? 0 : ($values[0] // $values[1]);