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." } }
Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.