The given - when construct (known in other languages as case or switch) can make the previous example much more compact.
Perl compares the value of $operator (the topic) with each one of the values next to the when keywords. When if finds one that fits the appropriate block is executed and perl jumps to the next command after the given block.
If non of the when values fit the (optional) default block is evaluated.
examples/scalars/calculator_given.p6#!/usr/bin/env perl6
use v6;
my $a = prompt "Number:";
my $operator = prompt "Operator: [+-*/]:";
my $b = prompt "Number:";
given $operator {
when "+" { say $a + $b; }
when "-" { say $a - $b; }
when "*" { say $a * $b; }
when "/" { say $a / $b; }
default { say "Invalid operator $operator"; }
}