`

perl switch case

阅读更多

Below shows how to emulate the switch... case ... construct in C

 

 

# file:
#   switch_emu.pl
# description:
#   this is the file to show how to simulate the switch ... case ... construct in Perl
#
# conclusion:
#    perl does not have switch case...
#    You can emulate switch ... case with bare blocks and label
#
use strict;

SWITCH:
{
	if (/^abc/) { $abc =1; last SWITCH; }
	if (/^def/) { $def =1; last SWITCH; }
	if (/^xyz/) { $xyz =1; last SWITCH; }
	$nothing = 1;
}


SWITCH1:
{
	/^abc/       && do { $abc =1; last SWITCH1; }
	/^def/       && do { $def =1; last SWITCH1; }
	/^xyz/       && do { $xyz =1; last SWITCH1; }
	$nothing = 1
}

if (/^abc/)    { $abc = 1}
elsif (/^def/) { $def = 1 } 
elsif (/^def/) { $def = 1 } 
else           { $nothing = 1 }


# the last in the do { } blocks does not exit the do {} block , 
# but rather exit the for loop
for ($very_nasty_long_name[$i++][$j++]->method()) {
	/this pattern/   and do { push @flags, '-e'; last; };
	/that pattern/   and do { push @flags, '-h'; last; };
	/something else/ and do {                    last; };
	die "unknown value: '$_'";
}
 

 

 

分享到:
评论

相关推荐

    perl常用模块

    `Switch-2.16.tar.gz`提供了这个功能,安装后可以在Perl代码中使用更易读的switch-case结构。例如: ```perl use Switch; switch ($status) { case 'success' { print "操作成功\n"; } case 'error' { print ...

    strawberry-perl-5.10.1.0.msi

    此外,given/when语句提供了类似switch-case的结构,使得条件判断更为直观。 Strawberry Perl还包括了CPAN(Comprehensive Perl Archive Network)客户端,这是一个庞大的Perl模块仓库,开发者可以通过它轻松查找并...

    advanced perl

    此外,Perl5.10的“given-when”结构是switch语句的另一种形式,其语法更接近其他编程语言中的switch-case结构,使得代码更加直观易读。Perl中的“given”相当于switch语句,而“when”则相当于case语句。 文档还...

    神奇的perl两本perl入门教材合集

    4. **流程控制**:讲解条件语句(if-else)、循环(while、for)以及分支结构(switch-case)等控制流程的方法。 5. **函数和模块**:介绍内置函数和自定义函数的编写,以及如何使用CPAN(Comprehensive Perl ...

    Perl 语言编程,详细讲解了perl的语法及技巧

    2. **控制结构**:Perl的流程控制包括条件语句(if/elsif/else)、循环语句(while、for、foreach)、开关语句(switch/case,自Perl 5.10起引入)以及跳转语句(last, next, redo)。 3. **函数和模块**:Perl拥有...

    Perl 5教程及perl常问问题集

    Perl还支持开关语句(switch/case),但需借助模块`Switch`实现。 函数是可重用代码块,可以接受参数并返回值。Perl支持子例程定义,如`sub myFunction { ... }`。模块机制允许导入其他文件中的函数和变量,使用`...

    Learning Perl [Perl语言入门|中英文|清晰|第5版]

    2. **控制结构**:Perl提供了常见的控制结构,如if-else语句、for循环和while循环,以及switch-case结构(在Perl 5.10及以后版本中引入的given-when语句)。 3. **函数和模块**:Perl拥有丰富的内建函数,同时可以...

    Perl语言编程(清晰完整)

    它还支持switch-case结构,但需通过given-when语句实现。 3. 函数和子例程:Perl中的函数使用sub关键字定义,可以接受参数并返回值。子例程可以用来组织代码,提高复用性。 4. 正则表达式:Perl对正则表达式提供了...

    Perl语言入门中英文版

    Perl的控制结构也相当丰富,包括条件语句(if-else,switch-case)、循环(while,for,foreach)以及流程控制(next,last,redo)。这些结构使得程序可以根据不同条件执行不同的代码块,或者重复执行某段代码直到...

    PERL手册(html).zip

    - **控制结构**:包括条件语句(if/else,switch/case)和循环(for,while,until)。 - **函数**:Perl有丰富的内置函数,同时允许用户自定义函数。 3. **文本处理**: - **正则表达式**:Perl的正则表达式...

    Perl 语言编程 全面讲解Perl各个部分

    提供类似于 switch-case 的结构用于条件分支。 **4.5 goto** Perl 中的 `goto` 语句用于无条件跳转。 **4.6 全局声明** 声明全局变量或函数。 **4.7 范围声明** 定义变量的作用域。 - **范围变量声明**:声明...

    Linux perl学习

    3. **控制结构**:Perl的控制结构与许多其他编程语言类似,如if/else语句、for循环、while循环和switch/case结构。Perl还提供了条件赋值和三元运算符,增强了逻辑控制的灵活性。 4. **正则表达式**:Perl的正则...

    perl-5.10.0.tar.gz

    3. **开关语句(Switch Statement)**:Perl 5.10.0引入了`given`和`when`关键字,提供了类似其他语言的switch-case结构,提高了代码的可读性。 4. **Subroutine签名**:允许在子程序定义时指定参数列表,可以进行...

    Perl_学习手札.pdf

    - `switch`语句(通过模块实现):提供类似于其他语言的switch-case结构。 #### 五、正规表示式与文本处理 1. **正规表示式**: - **概念**:正规表示式是一种模式匹配工具,用于在文本中搜索特定模式。 - **...

    learning_perl

    1. **Switch/Case语法**:Perl 5.10引入了一种新的`given/when`结构,类似于其他语言中的`switch/case`语句,使得条件判断更加清晰和简洁。 2. **非捕获分组**:通过在正则表达式中使用`(?:...)`来创建非捕获分组,...

    perl-examples_beginners_Perl_

    6. **控制结构**:包括条件语句(if-else, switch-case)、循环(while, for, foreach)以及流程控制(next, last, redo)。初学者通过`ex06.pl`和`ex05.pl`可以理解如何控制程序流程。 7. **函数和模块**:Perl...

    perl入门 1-12

    5. **流程控制**:Perl支持if-else语句、switch-case结构(自Perl 5.10引入)、循环(while、for、foreach)以及条件运算符,帮助编写逻辑结构。 6. **函数与模块**:Perl拥有丰富的内置函数,同时可以通过CPAN...

    PERL编程24学时教程

    4. **控制结构**:Perl提供了条件语句(if-else,switch-case)、循环语句(while,for,foreach)以及流程控制语句(next,last,redo)来控制程序流程。 5. **正则表达式**:Perl在内置支持正则表达式方面非常...

    24天学会perl编程

    - **流程控制**:包括if-else语句、for、while、until循环以及switch-case结构(通过given-when实现)。 **4. ** **输入/输出** Perl提供了多种方式来处理输入和输出,如print、printf函数用于输出,可以读取标准...

    Perl 语言编程

    使用 `given` 和 `when` 语句实现的 switch-case 类似的结构。 **4.5 goto** Perl 中的 `goto` 用于无条件跳转。 **4.6 全局声明** 全局声明是指在整个程序范围内都可访问的变量。 **4.7 范围声明** 局部变量...

Global site tag (gtag.js) - Google Analytics