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

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

技术教程推荐

赵成的运维体系管理课 -〔赵成〕

持续交付36讲 -〔王潇俊〕

分布式协议与算法实战 -〔韩健〕

To B市场品牌实战课 -〔曹林〕

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

大数据经典论文解读 -〔徐文浩〕

Web漏洞挖掘实战 -〔王昊天〕

李智慧 · 高并发架构实战课 -〔李智慧〕

云计算的必修小课 -〔吕蕴偲〕

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