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." }
}