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的流程控制的更多相关文章
- Excel VBA入门(四)流程控制2-循环控制
所谓循环控制,即在循环执行一段代码,用于完成一些重复性任务. VBA中的循环控制语句主要有3种:for.while.loop.对于大多数人来说,for的使用频率最高,而我个人也觉得for是最为灵活的, ...
- Excel VBA入门(三) 流程控制1-条件选择
VBA中的流程控制分为两种,其一是条件结构式的,即根据条件判断的结果去选择性执行相应的语句(块):另一种是循环,即循环地执行语句(块).本节介绍第一种. 1. IF if 语句其实包含有几种形式: ① ...
- MySQL入门(6)——流程控制
MySQL入门(6)--流程控制 IF语句 条件判断语句,逻辑与大多数编程语言相同,表示形式如下: IF condition THEN ... [ELSE condition THEN] ... [E ...
- golang学习笔记(二):流程控制
欢迎访问我的博客和github! 今天咱们把烦人的事情丢一丢,继续来学习go的基础知识. 这篇文章记录go语言的流程控制和更多类型. 流程控制 for Go 只有一种循环结构:for 循环. 基本的 ...
- excel的宏与VBA入门(三)——流程控制
一.条件控制IF if 逻辑表达式 then 语句块 end if 带else的if语句: If 逻辑表达式1 Then 语句块1 ElseIf 逻辑表达式2 Then 语句块2 ElseIf 逻辑表 ...
- SQL编程篇 (二) 定义与流程控制
分类: sql编程:标准的sql 编程 * 纯sql 在标准的编程中又分为 sqlserver-->T-sql oracle-->pl-sql(扩展) 变量:在使用变量之前先定义 声明变量 ...
- 二、Python流程控制练习题
一.分支结构-if等 练习题: 练习1:英制单位与公制单位互换 练习2:掷骰子决定做什么 练习3:百分制成绩转等级制 练习4:输入三条边长如果能构成三角形就计算周长和面积 练习5:个人所得税计算器 练 ...
- Go语言入门(二)Go语言中的变量、常量、数据类型、流程控制以及函数
Go语言中的变量 通常用var关键声明变量,有常规方式和简化方式. 常规方式: var name1 type1 name1 = value1 //赋值 简化方式: var name2 = value1 ...
- JAVA之旅(二)——if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结
JAVA之旅(二)--if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结 JAVA的思想真的很重要,所以要专心的学-- ...
随机推荐
- Misdirection: 1靶机writeup
看下端口 nmap -A 172.16.61.131 一些坑3306无法访问,80,web2py漏洞无法利用 利用dirb遍历网站路径 得到下面命令执行漏洞 http://172.16.61.131: ...
- 10 个提高效率的 Linux 命令别名
在 Linux 环境下工作的工程师,一定会对那些繁琐的指令和参数命令行印象深刻吧.而且,可怕的不是繁琐,而是需要大量重复输入这些繁琐的命令. 在 Linux 下我们有个别名命令 alias ,可以将那 ...
- vnc server,vnc server去哪下载,下载后如何连接使用(vnc viewer)
vnc server是vnc服务端,通过需要下载的服务器连接之后在服务器端下载. 1.使用到的工具:iis7服务器管理 2.首先去服务器端下载vnc 3.根据要求安装结束,得到登录密码. 4.用IIS ...
- PowerPC-MPC56xx Flash模式代码启动过程
https://mp.weixin.qq.com/s/iruM5VwKgnH_7nmIQxO0-g 参考第5章 In order for the e200z4d core to be able ...
- 超干货!为了让你彻底弄懂MySQL事务日志,我通宵肝出了这份图解!
还记得刚上研究生的时候,导师常挂在嘴边的一句话,"科研的基础不过就是数据而已."如今看来,无论是人文社科,还是自然科学,或许都可在一定程度上看作是数据的科学. 倘若剥开研究领域的外 ...
- 【HIVE】(1)建表、导入数据、外部表、导出数据
导入数据 1). 本地 load data local inpath "/root/example/hive/data/dept.txt" into table dept; 2). ...
- 【javascript】京东商品浏览放大镜效果
1.onclick点击小图可以切换图片 2.onmouseover显示黄色div与放大图片的div 3.onmouseout,2的内容消失 4.onmousemove黄色div跟随鼠标移到,但是不能超 ...
- eclipse 界面复原
Windows-----Perspective-----Reset perspective
- java实现立方和等式
考虑方程式:a^3 + b^3 = c^3 + d^3 其中:"^"表示乘方.a.b.c.d是互不相同的小于30的正整数. 这个方程有很多解.比如: a = 1,b=12,c=9, ...
- 【扯皮系列】一篇与众不同的 String、StringBuilder 和 StringBuffer 详解
碎碎念 这是一道老生常谈的问题了,字符串是不仅是 Java 中非常重要的一个对象,它在其他语言中也存在.比如 C++.Visual Basic.C# 等.字符串使用 String 来表示,字符串一旦被 ...