Я иногда использую его в условном (иногда ошибочно называемом «троичном») операторе, если код легче прочитать, чем разбить его на реальный if / else:
my $blah = condition() ? do_this(), do_that() : do_the_other_thing();
Он также может использоваться в некотором выражении, где важен последний результат, например в выражении grep
, но в этом случае оно точно такое же, как если бы использовалась точка с запятой:
my @results = grep { setup(), condition() } @list;