LINUX.ORG.RU

История изменений

Исправление redgremlin, (текущая версия) :

почему такое исправление?

$ perl -e '0 ? $a if $b : 1;'
syntax error at -e line 1, near "$a if"
Execution of -e aborted due to compilation errors.
$ perl -e '0 ? do { $a if $b } : 1;'
$

Намёк ясен?

$a ? $b=0 : $b=1; # == ($a ? $b=0:$b) = 1, != ($a) ? ($b=0) : ($b=!) so $b always 1

Надеюсь, с этим тоже ясно?

Исходная версия redgremlin, :

почему такое исправление?

$ perl -e '0 ? $a if $b : 1;'
syntax error at -e line 1, near "$a if"
Execution of -e aborted due to compilation errors.
$ perl -e '0 ? do { $a if $b } : 1;'
$

Намёк ясен?

$a ? $b=0 : $b=1; # == ($a ? $b=0:$b) = 1, != ($a) ? ($b=0) : ($b=!)

Надеюсь, с этим тоже ясно?