linux perl的while循环中ctrl+c失效,perl循环控制
if
格式(类似于awk):if(表达式){ #空格可以忽略
语句 ;} #elsif注意多了个s,elsif和else可以省略
elsif(表达式){ #语句块的{}必须有,可以为空
语句:}
else{
语句;}
unless
格式:unless (表达式){
语句;}
while
格式:while(表达式){
语句;}
do while
格式:do {语句} while(表达式)
until
格式:until(表达式){
语句;}
do until
格式:do {语句} until(表达式)
for foreach
for和foreach等价可以互换
格式:
c语言风格for(表达式1;表达式2;表达式3){
语句;}
表达式可以省略分号必须保留:(;;)为死循环for($l=<>,$count=1;$count<10;$count++,$l=<>){
print "$l";}
foreachforeach $w (列表or数组){
语句;}
()中为@array或者列表(1,2,3)
$w为循环体的局部变量,并不会影响外部同名变量
循环体每次取数组或列表的元素直到为空
修改$w会修改对应元素的值;$w是列表数组元素的一个引用,与列表或数组变量引用具有相同内存地址,所以修改$w会修改其对应元素的值
列表中为常量,$w不可改变,$w只是对数组列表元素的一个引用,$w赋值时,$w指向新的内存对象,原列表中的值并不改变for $a(@a){}
for $a(1,2,3){}
for $k(keys%h){}
for $a(@a[1,2]){}
for (@a){} #省略循环变量,缺省为$_
grep,map函数相当于for每个元素进行操作
循环控制
last 退出循环
next 执行下一次循环
redo 重新执行本次循环,for自增不进行,do语句中无效
goto 跳转,不能跳到循环或者子程序内
标记:
字母加下划线,通常用大写,以:分隔
标记定义:在循环语句前或者语句前(goto)
while for
跳转到标记: last|next|redo|goto labelOUT: while (...){
while(...){...
last OUT; #跳转到OUT标识的语句块,这里是跳出这一层循环到外层循环
}
}
continue{语句}
跟在循环语句后,循环体执行完成,下一次条件判断前执行
{}标识语句块
last跳出后不执行,next执行;
单行条件语句与循环语句print $a if $a==0;#先判断条件在执行打印
print $a unless($a==0);
print $a while ($a==0);
#不要丢失对变量控制,防止形成死循环
print $a while ($a--==0);
print $a until ($a--==0);
|| && (用法同shell)$a==0 && print $a;
open(FD6,'file')||die "can't open file";#die函数,输出标准错误输出后推出
warn:输出信息后不退出,只是报警
$! :内部变量包含错误代码
$@ :内部变量包含错误信息
linux perl的while循环中ctrl+c失效,perl循环控制相关推荐
- R语言循环中break函数和next函数使用实战
R语言循环中break函数和next函数使用实战 目录 R语言循环中break函数和next函数使用实战 #基础for循环 #带break的for循环
- Vue指令之v-for——迭代数组、迭代对象中的属性、迭代数字||v-for循环中key属性的使用
v-for循环普通数组 v-for循环对象数组 v-for循环对象 v-for迭代数字 v-for循环中key属性的使用 <!DOCTYPE html> <html lang=&qu ...
- html页面如何循环遍历,遍历foreach循环中的HTML DOM元素
5 个答案: 答案 0 :(得分:3) 您可以使用closest('tr')查找最近的父tr元素,然后使用index()获取行号.试试这个: $('td').click(function() { va ...
- matlab for 取数组,for循环中的MATLAB和单元格数组处理
for循环中的MATLAB和单元格数组处理 我是MATLAB新手,想从数据库中提取一个单元格数组中的数据: sensors = [ 1] [23] [1] [ 0] [0.1000] [1x29 ch ...
- [vue] v-for循环中key有什么作用?
[vue] v-for循环中key有什么作用? 四个字: 性能优化,简述: 让vue在更新数据的时候可以更有针对性的 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢 ...
- python循环中的else_python 循环中else的简单示例
导读热词对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 众多语言中都有if else这对条件选择组合,但是在python中还有更多else使用的地 ...
- java sleep 循环_while循环中的Thread.sleep()
我注意到NetBeans警告我在我的Java代码中使用while循环中的Thread.sleep(),所以我已经对这个主题进行了一些研究 . 主要问题似乎是性能问题,当计数器仍处于休眠状态时,你的状态 ...
- oracle双重for循环sql,Oracle 11g中for循环中的PL / SQL限制
我有一个大约有3000万条记录的表,并且我想像这样循环遍历表中存在的记录: FOR i IN (SELECT * FROM tbl_items it Left join location lo ON ...
- Python入门--二重循环中的continue和break
#二重循环中的break和continue #二重循环中的break和continue用于控制本层循环 ############################################# fo ...
最新文章
- [Asp.net 5] Options-配置文件(2)
- MySQL拦截器获取xml id_关于mybatis拦截器,有谁知道怎么对结果集进行拦截,将指定字段查询结果进行格式化...
- StarUML中时序图添加小人
- 如何在Ubuntu上使用MultiSystem创建多启动USB盘
- [USACO5.3]校园网Network of Schools
- centos php.ini redis,CentOS下安装Redis及Redis的PHP扩展
- C++11::遍历tuple中的元素
- (转载)将h.264视频流封装成flv格式文件(二.开始动手)http://blog.csdn.net/yeyumin89/article/details/7932431...
- Java并发编程实战_《Java并发编程实战》PDF版本下载
- java__斐波那契数列
- Linux基础(八)服务器RAID及配置
- 对比三菱, 横河PLC快速入门 第一章
- 查看oracle操作历史,查看操作历史记录
- 《神经网络与深度学习》编程笔记
- 手机怎么识别图中文字?这两个方法靠谱
- 【免费分享】论文查重软件(亲测好用!)
- ME3616-OPENCPU完整调试笔记
- CPU个数、CPU核心数、CPU线程数
- C#在图片框中显示一幅图片及其信息
- 详解:动态规划算法【Java实现】——背包问题
热门文章
- ogre研究之第一个程序(一)
- Exposing Windows Forms Controls as ActiveX controls
- 三年java经验应该会什么?
- ajax预加载html seo,前端性能优化 — JS预加载和懒加载
- scala中def_def关键字以及Scala中的示例
- 树莓派该文件名_树莓派:文本编辑器与文件
- ajax的模式_AJAX的完整形式是什么?
- python 5的倍数_查找所有低于1000的数字的和,这是Python中3或5的倍数
- C语言打印彩色字符——以(枚举法+字符串查找)为例展示
- Microsoft Visual C++ Runtime Library 错误解决办法