switch语句允许根据值列表测试变量的相等性。每个值称为一个case,并且为每个switch case检查正在打开的变量。
perl编程语言中switch语句的概要如下所示:-
use Switch; switch(argument) { 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 (\&sub) { print "arg to subroutine" } else { print "previous case not true" } }
#!/usr/local/bin/perl use Switch; $var=10; @array=(10, 20, 30); %hash=('key1' => 10, 'key2' => 20); switch($var) { case 10 { print "number 100\n" } case "a" { print "string a" } case [1..10,42] { print "number in list" } case (\@array) { print "number in list" } case (\%hash) { print "entry in hash" } else { print "previous case not true" } }
执行上述代码时,将生成以下输出-
number 100
但是,现在考虑一个下面情况,我们将使用Next将控件转移到下一个匹配的情况,在本示例中是一个列表-
#!/usr/local/bin/perl use Switch; $var=10; @array=(10, 20, 30); %hash=('key1' => 10, 'key2' => 20); switch($var) { case 10 { print "number 100\n"; next; } case "a" { print "string a" } case [1..10,42] { print "number in list" } case (\@array) { print "number in list" } case (\%hash) { print "entry in hash" } else { print "previous case not true" } }
执行上述代码时,将生成以下输出-
number 100 number in list
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)