Perl 6

Булевый контекст

Бинарный оператор ? в Perl 6 устанавливает (forces) булевый контекст независимо от того, какое выражение следует за ним.

Обычное присваивание — есть обычное присваивание, и переменная $boolean будет содержать значение 23:

my $value = 23;

my $boolean = $value;
say $boolean;

Однако, если перед $value поставить вопросительный знак, пример напечатает единицу:

$boolean = ?$value;
say $boolean;

Форсирование булевого контекста примерно равнозначно сравниванию переменной с нулем (если не говорить об обработке значений undef и пустых строк).

$boolean = $value != 0;
say $boolean;

6 сентября 2005