Prev: Comparing values - Calculator

Calculator - given

Note! This site is about Perl 6.
If you are looking for a solution for the current production version of Perl 5, please check out the Perl 5 tutorial.

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.


#!/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"; }

The Perl 6 Tricks and Treats newsletter has been around for a while. If you are interested to get special notification when there is new content on this site, it is the best way to keep track:
Full name:
This is a newsletter temporarily running on my personal site ( using Mailman, till I implement an alternative system in Perl 6.
Gabor Szabo
Written by Gabor Szabo

Published on 2012-01-01

Prev: Comparing values - Calculator


In the comments, please wrap your code snippets within <pre> </pre> tags and use spaces for indentation.
comments powered by Disqus
Suggest a change
Elapsed time: 4.09898213

Perl 6 Tricks and Treats newsletter

Register to the free newsletter now, and get updates and news.