Sunday, August 23, 2009

Perl: short-circuit operators

Логические short-circuit операторы - это те, которые определяют истинность выражения, вычисляя наименьшее число операндов, достаточное для определения значения выражения. Это отличает их от операторов, которые вычисляют значение всех элементов в выражении (например, & и | в Java).

В Perl такими операторами являются:&& , and , || и or. Пример:

open my $fh, '<', "input.txt" or die $!;


В отличие, например, от C, в Perl данные операторы возвращают не 0 или 1, а последнее вычисленное значение. Это позволяет писать выражения вроде:

$home = $ENV{HOME} || (getpwuid($<))[7] || die "You're homeless!n";


Возвращаемое значение определяется аналогично также в Python/Ruby/Javascript (но не в PHP %). Подробнее тут.

No comments:

Post a Comment