Book HomeJava and XSLTSearch this book

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


Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.