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 循环的更多相关文章

  1. Perl 循环

    Perl 循环 有的时候,我们可能需要多次执行同一块代码.一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推. 编程语言提供了更为复杂执行路径的多种控制结构. 循环语 ...

  2. perl 循环类选择器 ,爬取内容

    jrhmpt01:/root/lwp/0526# cat 0526.txt <div class="TXD_sy_title"><span class=" ...

  3. java笔记10之循环

    关于for    循环语句:for循环,while循环,do...while循环.        for循环格式:        for(初始化语句;判断条件语句;控制条件语句) {          ...

  4. Python快速学习10: 循环的对象及设计 (生活的规律)

    前言 系列文章:[传送门] 生活逐渐规律,按时睡觉.今天写博客,明天补时间看会书.慢慢的时间很珍惜 我很喜欢! 时钟就像个循环体,我们将它融入生活. 正文 循环对象的并不是随着Python的诞生就存在 ...

  5. 2.10 while循环应用

    while循环应用 1. 计算1~100的累积和(包含1和100) 参考代码如下: #encoding=utf-8 i = 1 sum = 0 while i <= 100: sum = sum ...

  6. Python入门10 —— for循环

    1.字符串依次取值 students = ['egon', 'lxx', 'alex'] i = 0 while i < 3: print(students[i]) i += 1 2.针对循环取 ...

  7. 10.for循环

    for循环 语法: for(初始化; 布尔表达式; 更新) { //代码语句 } 初始化最先执行,可以声明一种类型,可初始化一个或多个循环控制变量,也可以是一个空语句. 布尔值判断,为 true 执行 ...

  8. 使用Java 多线程编程 让三个线程轮流输出ABC,循环10次后结束

    简要分析: 要求三个线程轮流输出,这里我们要使用一个对象锁,让关键部分的代码放入同步块当中.同时要有一个变量记录打印的次数到达10次循环后不再打印,另外一个就是要给每个线程一个标志号,我们根据标识号来 ...

  9. perl基本语法--转载

    http://www.cnblogs.com/zhtxwd/archive/2012/03/06/2381585.html 本文介绍从变量类型.操作运算符.控制叙述.子程序.I/O和档案处理. Reg ...

  10. Perl的基本语法<总结> (转载)

    前言:这篇文章是花了我很多时间.费了我很多心血才完成的,虽然连我自己都觉得无法达到尽善尽美的境界,但希望能帮助大家入门,稍微了解到Perl 到底是个什么样的东西,Perl到底有那些强大的功能,那么这篇 ...

随机推荐

  1. chattr +i 锁定文件

    reboot machine, 查看DNS服务器配置文件\etc\resolv.conf, 里面的内容变回原来的样子. 原因是resolv.conf文件被系统程序自动维护.为了防止该文件被跟改,可以为 ...

  2. 【MyBatis】从一千万记录中批量删除八百万条,耗时4m7s

    批量删除主要借助了MySql的limit函数,其次用了in删除. 代码如下: package com.hy.action; import java.io.Reader; import java.uti ...

  3. LC 351. Android Unlock Patterns

    Given an Android 3x3 key lock screen and two integers m and n, where 1 ≤ m ≤ n ≤ 9, count the total ...

  4. iOS tableHeaderView有默认高度?

    在给tableView设置tableHeaderView的时候发现,如果设置tableView.tableHeaderView = [UIView new] , 这里未设置tableView的高度,但 ...

  5. SpringBoot: 2.SpringBoot整合servlet(转)

    整合方式1:通过注解扫描完成 Servlet 组件的注册 1.编写servlet package com.bjsxt.servlet; import javax.servlet.ServletExce ...

  6. Django前期知识准备

    一. WEB应用 WEB应用程序是一种可以通过WEB访问的应用程序, 程序的最大好处是用户很容易访问应用程序, 用户只需要有浏览器即可, 不需要再安装其他软件. 应用程序有两种模式: C/S, B/S ...

  7. k-means聚类分析范例程序

    K-Means聚类算法原理参考以下链接: https://www.cnblogs.com/pinard/p/6164214.html 2. 传统K-Means算法流程 在上一节我们对K-Means的原 ...

  8. 【AMAD】django-oauth-toolkit -- 为Django集成Oauth2加入一些好货!

    简介 个人评分 简介 如果你面对下面其中的一个问题: 你的Django app需要暴露一个接口,你希望能够收到Oauth2协议的保护 你需要实现Oauth2鉴权服务器,让你的基础设施可以进行token ...

  9. Python学习笔记——集合

    1. 定义 num = {} print(type(num)) num2 = {1,2,3,4,5} print(type(num2)) <class 'dict'> <class ...

  10. 高性能Linux服务器

    TCP/IP协议族——高性能Linux服务器编程   现在 Internet 使用的主流协议族是 TCP/IP 协议族,它是一个分层.多协议的通信体系. TCP/IP 协议族体系结构以及主要协议 TC ...