Conditional structures
if/else
if won() -> $prize {
say "You won $prize.";
}
given/when
Switch structures are done by topicalization and by smartmatching in Perl 6. They are somewhat orthogonal, you can use a given block without when, and vice versa. But the typical use is:
given lc prompt("Done? ") {
when 'yes' { return }
when 'no' { next }
default { say "Please answer either yes or no." }
}
when blocks are allowed in any block that topicalizes $_, including a
for loop (assuming one of its loop variables is bound to $_)
or the body of a method (if you have declared the invocant as $_)." See Synopsis 4.
There are also statement modifier forms of all of the above.
Ternary operator
The ternary operator looks like this:
$expression ?? do_something !! do_fallback
Other short-circuiting operators
and, or, &&, || and // work as in Perl 5.