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操作系统 -〔刘超〕

玩转webpack -〔程柳锋〕

SQL必知必会 -〔陈旸〕

性能测试实战30讲 -〔高楼〕

实用密码学 -〔范学雷〕

深入浅出分布式技术原理 -〔陈现麟〕

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

云原生架构与GitOps实战 -〔王炜〕

AI绘画核心技术与实战 -〔南柯〕

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