При чтении последней версии The Camel Book меня поразил следующий фрагмент кода на p522:
use Fcntl ":flock";
eval {
local $SIG{ALRM} = sub { die "alarm clock restart" };
alarm 10; # schedule alarm in 10 seconds
eval {
flock(FH, LOCK_EX) # a blocking, exclusive lock
|| die "can't flock: $!";
};
alarm 0; # cancel the alarm
};
alarm 0; # race condition protection
die if [email protected] && [email protected] !~ /alarm clock restart/; # reraise
Мне учили, что вы всегда должны использовать логический оператор с низким приоритетом OR или "предпочтительнее логического оператора OR" || ".
Глядя далее в книге, я вижу множество других примеров, использующих ту же логику.
Изменены ли правила или уровни приоритета?
Или обработка "||" и 'или' изменено в более поздних версиях Perl? (К сожалению, мы свариваем до 5.6.1 атм из-за устаревшего кода).