Perl 中的 Switch语句函数

首页 / Perl入门教程 / Perl 中的 Switch语句函数

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Linux性能优化实战 -〔倪朋飞〕

数据分析实战45讲 -〔陈旸〕

后端技术面试 38 讲 -〔李智慧〕

正则表达式入门课 -〔涂伟忠〕

人人都用得上的写作课 -〔涵柏〕

Spark性能调优实战 -〔吴磊〕

如何落地业务建模 -〔徐昊〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

Vue 3 企业级项目实战课 -〔杨文坚〕

好记忆不如烂笔头。留下您的足迹吧 :)