10-Perl 循环
1.Perl 循环
一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。
有的时候,可能需要多次执行同一块代码。
编程语言提供了更为复杂执行路径的多种控制结构。
循环语句允许我们多次执行一个语句或语句组。
注意,数字 0, 字符串 '0' 、 "" , 空 list () , 和 undef 为 false ,其他值均为 true。 true 前面使用 ! 或 not则返回 false 。
Perl 语言提供了以下几种循环类型:
循环类型 描述
while 循环 当给定条件为 true 时,重复执行语句或语句组。循环主体执行之前会先测试条件。
until 循环 重复执行语句或语句组,直到给定的条件为 true。 循环主体执行之前会先测试条件。
for 循环 多次执行一个语句序列,简化管理循环变量的代码。
1.4 foreach 循环 foreach 循环用于迭代一个列表或集合变量的值。
Perl foreach 循环用于迭代一个列表或集合变量的值。
语法格式如下所示:
foreach var (list) {
...
}
例子:
#!/usr/bin/perl
@list = (2, 12, 36, 42, 51);
# 执行foreach 循环
foreach $a (@list){
print "a 的值为: $a\n";
}
do...while 循环 先执行循环主体,再执行测试条件。
嵌套循环 可以在 while、for 或 do..while 循环内使用一个或多个循环。
2.循环控制语句
循环控制语句改变了代码的执行顺序,通过它可以实现代码的跳转。
Perl 提供了下列的循环控制语句:
控制语句 描述
next 语句 停止执行从next语句的下一语句开始到循环体结束标识符之间的语句,转去执行continue语句块,然后再返回到循环体的起始处开始执行下一次循环。
last 语句 退出循环语句块,从而结束循环
continue 语句 continue 语句块通常在条件语句再次判断前执行。
redo 语句 redo 语句直接转到循环体的第一行开始重复执行本次循环,redo语句之后的语句不再执行,continue语句块也不再执行;
goto 语句 Perl 有三种 goto 形式:got LABLE,goto EXPR,和 goto &NAME。
3.无限循环
如果条件永远不为 false,则循环将变成无限循环。
for 循环在传统意义上可用于实现无限循环。
由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。
实例
#!/usr/bin/perl
for( ; ; )
{
printf "循环会无限执行。\n";
}
可以按下 Ctrl + C 键来终止循环。
当条件表达式不存在时,它被假设为 true 。您也可以设置一个初始值和增量表达式,但是一般情况下,Perl 程序员偏向于使用 for(;;) 结构来表示一个无限循环。
10-Perl 循环的更多相关文章
- Perl 循环
Perl 循环 有的时候,我们可能需要多次执行同一块代码.一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推. 编程语言提供了更为复杂执行路径的多种控制结构. 循环语 ...
- perl 循环类选择器 ,爬取内容
jrhmpt01:/root/lwp/0526# cat 0526.txt <div class="TXD_sy_title"><span class=" ...
- java笔记10之循环
关于for 循环语句:for循环,while循环,do...while循环. for循环格式: for(初始化语句;判断条件语句;控制条件语句) { ...
- Python快速学习10: 循环的对象及设计 (生活的规律)
前言 系列文章:[传送门] 生活逐渐规律,按时睡觉.今天写博客,明天补时间看会书.慢慢的时间很珍惜 我很喜欢! 时钟就像个循环体,我们将它融入生活. 正文 循环对象的并不是随着Python的诞生就存在 ...
- 2.10 while循环应用
while循环应用 1. 计算1~100的累积和(包含1和100) 参考代码如下: #encoding=utf-8 i = 1 sum = 0 while i <= 100: sum = sum ...
- Python入门10 —— for循环
1.字符串依次取值 students = ['egon', 'lxx', 'alex'] i = 0 while i < 3: print(students[i]) i += 1 2.针对循环取 ...
- 10.for循环
for循环 语法: for(初始化; 布尔表达式; 更新) { //代码语句 } 初始化最先执行,可以声明一种类型,可初始化一个或多个循环控制变量,也可以是一个空语句. 布尔值判断,为 true 执行 ...
- 使用Java 多线程编程 让三个线程轮流输出ABC,循环10次后结束
简要分析: 要求三个线程轮流输出,这里我们要使用一个对象锁,让关键部分的代码放入同步块当中.同时要有一个变量记录打印的次数到达10次循环后不再打印,另外一个就是要给每个线程一个标志号,我们根据标识号来 ...
- perl基本语法--转载
http://www.cnblogs.com/zhtxwd/archive/2012/03/06/2381585.html 本文介绍从变量类型.操作运算符.控制叙述.子程序.I/O和档案处理. Reg ...
- Perl的基本语法<总结> (转载)
前言:这篇文章是花了我很多时间.费了我很多心血才完成的,虽然连我自己都觉得无法达到尽善尽美的境界,但希望能帮助大家入门,稍微了解到Perl 到底是个什么样的东西,Perl到底有那些强大的功能,那么这篇 ...
随机推荐
- docker 用nginx 部署 node应用
1.查询镜像 # 1.查询镜像. docker search nginx 2.拉取指定的镜像 # 2.拉取指定的镜像 docker pull nginx 3.下载完成后终端查看 # 3.下载完成后终 ...
- 前端js数据加密解密
一.最简单的加密解密 函数escape()和unescape(); 二.base64加密 (1)introduction base64是网络上最常见的用于传输8bit字节码的编码方式之一,base ...
- 约束布局ConstraintLayout详解
约束布局ConstraintLayout详解 转 https://www.jianshu.com/p/17ec9bd6ca8a 目录 1.介绍 2.为什么要用ConstraintLayout 3.如何 ...
- Grafana添加Zabbix为数据源(一)
最前面,此博文引自:http://docs.grafana-zabbix.org/installation/configuration-sql/ 使用zabbix来收集书籍,用grafana来显示数据 ...
- SpringMVC整合SpringFox实践总结
项目中使用的swagger框架在生成api文档时存在一些问题: 1. 控制器下方法无法点击展开 2.api内容结构混乱 基于上述原因,重新整合重构了一下api文档生成的代码.在此将重整过程记录下来,方 ...
- 阿里云安装 fastdfs 总结
还要开放 23000 22122,添加进安全组
- Java数组(1):数组与多维数组
我们对数组的基本看法是,你可以创建它们,通过使用整型索引值访问它们的元素,并且他们的尺寸不能改变. 但是有时候我们需要评估,到底是使用数组还是更加灵活的工具.数组是一个简单的线性序列,这使得元素访问非 ...
- Pearson Correlation Score
[http://www.statisticshowto.com/what-is-the-pearson-correlation-coefficient/] Correlation between se ...
- 了解DrawCall
一.什么是DrawCall DrawCall的含义就是CPU调用图像编程接口,以命令GPU进行渲染的操作. CPU和GPU通过使用一个命令缓冲区实现并行工作.命令缓冲区包含一个命令队列,CPU向其中添 ...
- 架构模式: 健康检查API
架构模式: 健康检查API 上下文 您已应用微服务架构模式.有时,服务实例可能无法处理仍在运行的请求.例如,它可能已用完数据库连接.发生这种情况时,监控系统应生成警报.此外,负载平衡器或服务注册表不应 ...