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循环控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 佳能g3800故障灯说明书_佳能打印机故
- 下一篇: anaconda pandas运行不了_