Perl入门(二)Perl的流程控制

Perl是一种粘性语言,如果你有其他语言的基础的话,你会发现他的流程控制完全和你所知的一模一样。

简单说一下他们的区别:

  • Perl的elsif在其他语言里头可能表示为else if
  • Perl的last,next在其他语言里头可能叫break和continue
  • 不用找了,Perl中没有switch,其实这用if else也是可以实现的,不是么?
  • Perl可能比你知道的语言里头多了这些:条件控制结构unless、循环控制结构until
  • Perl还有一些特殊的写法

还是详细介绍一下Perl的流程控制吧

条件结构

语法:

if结构

if(条件){执行内容}

if-else结构

if(条件){执行内容}else{执行内容}

if-elsif-else结构

if(条件1){执行内容}elsif(条件2){执行内容}else{执行内容}

unless结构

unless(条件){执行内容}

说明:unless表示除了满足条件的,其他都可以执行

unless-else结构

unless(条件){执行内容}else{执行内容}

循环结构

语法结构:

for循环

for(循环参数初始化;循环终止条件;循环参数累积方式){执行语句}

注意:for循环第一次执行也会进行循环终止条件判断。(你可能知道,但可能有人没注意)

While循环

while(循环终止条件){执行语句}

Until循环

until(循环终止条件){执行语句}

while和until的区别:while当条件返回false时终止循环;until当条件返回true时终止循环;

do-while循环

do{执行语句}while(循环终止条件);

while/until和do-while区别:while/until如果循环终止条件为false,则一次都不会执行;do-while不管条件,至少会执行一次。

foreach循环

foreach $var (@array){$var}

简单说明$var相当于一个容器,存放数组每一个位置存放的数据。等价于for($flag=0;$flag<@array;$flag++){$var = $array[$flag];}

单行条件/循环结构

说明:如果条件结构或循环结构下只包含一行执行内容,可以采用以下写法;虽然条件判断写在最后面,但是会先执行.

if(条件){单行执行语句;}等价于:单行执行语句;if(条件);

unless(条件){单行执行语句;}等价于:单行执行语句;unless(条件);

until(终止条件){单行执行语句;}等价于:单行执行语句;until(终止条件);

while(终止条件){单行执行语句;}等价于:单行执行语句;while(终止条件);

循环控制结构

last;退出当前循环体;

next;停止当前执行内容,进入下一次循环

Perl 有goto label;的语法,这种语法让流程控制十分灵活;缺点:让程序较难管理和维护。还是不要用了。

Perl入门(二)Perl的流程控制

时间: 2024-11-03 20:46:25

Perl入门(二)Perl的流程控制的相关文章

C#入门经典札记_Ch04流程控制

Chapter 04 流程控制 4.1 布尔逻辑 1.var1=var2^var3 ; (^异或运算符) 2.&和| 与 &&和||的区别: 结果都是一样的,但是&&和||性能更好,尽可能的使用&&与||. 4.1.1 位运算符 1.处理的是存储在变量中的一系列位,而不是变量的值. & . | .^ . ~ <<   // var1=var2<<var3 表示var2的二进制值向左移动var3位,后面补0 >&g

Perl入门(六) Perl方法的使用

 1.定义一个方法 Perl使用sub定义方法. 语法: sub 方法名称{方法体} 2.调用一个方法 Perl直接使用方法名称调用方法. 调用方式有以下四种: 方法名称: &方法名称: 方法名称(); &方法名称(); 说明:方法调用可以再任何位置,可以在方法前.后调用,也可以在方法体内部调用. 3.传递参数 Perl通过方法名后面的括号将参数列表传递到方法体内.例如:function_name("param1","param2"...); 方

Swift快速入门(四)流程控制

相关文章 Swift快速入门(一)第一个Swift程序 Swift快速入门(二)基本数据类型 Swift快速入门(三)运算符 1.分支结构 Swift提供两种常见的分支控制结构:if语句和swich语句.一般来说,当条件简单且可能情况较少时使用if语句:当条件比较复杂情况较多时则可以考虑使用swich语句. if条件语句 if语句有三种形式 第一种: if expression { statements... } 第二种: if expression { statements... } else

【C#学习笔记】【6】找出0-100以内的所有的能被3整除或者被5整除余2的数(二)(流程控制)

在上节中,我们画的那个流程图还记得么?判断部分我们会了,就差循环了,下面我会介绍三种常用的循环. 循环结构 while循环(当循环,至少我的C语言老师这么叫) 先来介绍一下语法吧,如下 while(条件表达式) { //这里是循环体,当上面的条件表达式为真时,执行循环体,否则退出 } while后面跟一个条件表达式,如果是真的话才会执行循环.执行完循环体再判断条件表达式,直到为假的时候推出循环. 例如我们输出1到100的数,例程如下: int i=1; while (i <= 100) { Co

计蒜客课程竞赛入门--二叉搜索树 流程记

二叉搜索树插入删除演示地址: http://www.cs.usfca.edu/~galles/visualization/BST.html 细心的你应该发现了,二叉搜索树的每个节点都要比左边的子孙节点的值要大,比右边的要小.二叉搜索树的中序遍历就是将整棵树按从小到大的顺序输出.是不是很神奇^o^ 如何在二叉搜索树中查找某个元素呢?首先从根出发,如果和根的值相等,则返回根,否则如果比根小就去左孩子,如果比根大就去右孩子,依次递归进行,直到找到值或者找不到返回空. 那么插入操作呢?紧接着上面的查找算

java入门(4)--流程控制

选择 程序如果只是逐条地顺序执行,那程序的行为恐怕要简单得多了,但也会失去大部分的强悍功能和精彩. 正是"分支"打破了顺序执行的呆板局面,给程序注入了真正的生命力. java中的分支主要由 选择 和 循环语句提供,其语法基本与 c 语言相同. if...else... 恐怕是最为我们熟悉的了.它有多种表现形式. if(条件) 语句; 或 if(条件){ 语句1; 语句2; ... } 有的编码规范上要求,即便是只有一条语句,也要放在大括号中. 或 if(条件){ 语句 } else {

Java运算符和流程控制总结

一.Java运算符总结: 1.算术运算符: ①单目:+(取正),-(取负), ++(自增1), - -(自减1): ②双目:+ - * / %(取余)(+还可以连接字符串): ③三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false:这整个运算符包括一个关系运算符(可以是">""<""!="等等),一个"?",一个":",冒号前后需要

Python学习(二):入门篇:python中流程控制与函数编写

python中流程控制与函数编写 Last Eidt 2014/5/2 转载请注明出处http://blog.csdn.net/jxlijunhao 一,流程控制 1)布尔逻辑 Python中利用True来表示逻辑真,False来逻辑假 not :非 and:与 or   :或 ==  :逻辑等 >>> False==True False >>> False==False True >>> not False True >>> Fal

Perl入门(一)Perl的基本类型及运算符

在学习Perl的基础之前,还是希望大家有空去看以下Perl的简介.百度百科 一.Perl的基本类型 Per的基本类型分为两种:数值型和字符串型. 数值型可细分为 整数型.如123. 浮点型.如123.123.0.123456. 科学计数型.如1.23E2.1.23e2. 大数值类型.如1_156_123_585_123. 字符串型 字符串.如"123456",'123',qq(this is a string too!) 二.用变量存储基本类型值 Perl定义变量很简单.格式为:$变量