Switch
Switch.pm
implements a switch statement for
Perl, which works something like the switch statement you’d find in C
and other languages. Switch.pm is
intended to supplement the standard Perl syntax with two control
statements: switch and case. switch takes a single scalar argument of any
type, specified in parentheses, that is then stored in a localized
control variable. It is followed by any number of Perl statements (in
a block) that are checked to meet various conditions, or cases, of the
switch. case takes a single scalar
argument, variable, or regular expression as an argument. If case finds a match, it will take the action
that’s specified between the braces on the right. Switch.pm is shipped with the Perl 5.8
source kit.
For example:
#!/usr/local/bin/perl -w
use Switch;
switch($some_value) {
case 1 { print "number 1" }
case "a" { print "string a" }
case [1..10,42] { print "number in list" }
case (@array) { print "number in list" }
case /\w+/ { print "pattern" }
case qr/\w+/ { print "pattern" }
case (%hash) { print "entry in hash" }
case (\%hash) { print "entry in hash" }
case (\&sub) { print "arg to subroutine" }
else { print "Get off my case." }
}Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access