无涯教程-Perl - Switch语句函数

83 阅读1分钟

switch语句允许根据值列表测试变量的相等性。每个值称为一个case,并且为每个switch case检查正在打开的变量。

Switch 语法

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

Switch 流程图

Switch statement in Perl

Switch 示例

#!/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

参考链接

www.learnfk.com/perl/perl-s…