perl: 控制结构

Perl结构控制语句:

if条件语句:

if    (condition) {

expression;

}    elsif   {

expression;

} else {

expression;

}

unless条件语句:

条件为假时执行.

unless (condition) {

expression;

}    elsif   {

expression;

} else {

expression;

}

while循环语句:

while    (condition){

expression;

}

while(1) {

}   #死循环

until循环语句:

条件为假时才执行

until  (condition) {

expression;

}

foreach循环语句:

foreach    $var   (@arry/list){

expression;

}

$var循环变量并不是对列表元素的复制,而是列表元素本身。

如果在foreach体中修改了循环变量也就是修改了列表中的元素。

$var循环变量在退出foreach循环后恢复原来的值。

循环变量可以省略,默认使用  
$_
   来代替:

foreach     (@arry/list){

print  “$_”;

}

for循环语句:

perl里的for和foreach等价,可以根据条件相互转化。

for  (initialization; condition; increment) {

expression;

}

for(;;) {

}    #死循环

裸块:

{

expression;

}

last函数 :跳出循环,相当于c的break。

last    LABEL/EXPR

next函数:跳出本次循环,继续下一次循环,相当于c的continue。

next  LABEL/EXPR

redo函数:无条件跳转到本次循环的顶端,重新执行本次循环。

redo  LABEL/EXPR

given-when控制结构:

given($var) {

when (condition) { expression }

default   { expression }

}

多个项目的when匹配:

foreach (@arr) {

when (condition) { expression; continue }

default { expression}

}

break:  跳出given块

continue:继续执行下一句

条件修饰词:

dosomething    if  condition;

也可以写成:

dosomething

if  condition;

循环里的标签:

在for/while等循环关键字前面加上标签可以实现跳转。

标签用大写,可以是字母数字和下滑线,但是不能数字开头。

eval    EXPR/BLOCK: 捕获错误

特殊变量[email protected]存放错误信息,如果没有触发异常[email protected]为空。

eval    {

….

}

if ([email protected]_)  {

print “An error occurred ([email protected]),continuing\n”;

}

evalbytes

goto

return

exit

do

wantarray

dump

caller

"__FILE”,"__LINE__","__PACKAGE__", "__SUB__"

时间: 2024-10-18 16:28:38

perl: 控制结构的相关文章

Perl 学习笔记-高级控制结构

1.unless控制结构 类似于独立的else语句; 要么条件为真, 要么执行语句块内的代码;  unless(<condition>){code...;} 等价于  if(<condition>){}else{code...;}  也就是当条件为假是执行. unless (0) { print "Hello"; #Hello } 2. until控制结构 until就是改装过的while, 区别在于它在条件为假是执行代码块. $i = 2;$j = 10; u

perl之更多的控制结构

1.unless/if结构 unless 条件为假的时候 才执行语句块. eg: unless($fred =~ /^[A-Z_]\w*$/i){ print "The value of \$fred doesn't look like a Perl indentifier name.\n"; } 想让于: if(! ($fred =~ /^[A-Z-]\w*$/i)){ print "The value of \$fred doesn't look like a perl

Perl语言学习笔记 10 其他控制结构

1.unless控制结构 条件为假时执行,与if相反 可以附带else 2.Until控制结构 条件为假时执行,一直执行到条件为真: 3.条件修饰词 效果等同于: 类似的模式: 4.裸块控制结构 { body; body; .... } 有利于为临时变量圈定有效范围 5.elsif子句 6.自增.自减 同c语言 7.for 用法同c语言 8.for与foreach 在perl中,两者等价,优先选择纯正的foreach 9.5种循环块:for.foreach.while.until.裸块 last

Perl语言入门(中文版)(第6版) 东南大学出版社

第一章简介 问题与答案 这本书适合你吗? 为何有这么多的脚注? 关于习题和解答? 习题前标的数字是什么意思? 如果我是Perl讲师? “Perl”这个词表示什么意思? Larry为什么要创造Perl? Larry干吗不用其他语言? Perl算容易,还是算难? Perl怎么会这么流行? 现在的Perl发展得怎么样了? 哪些事情最适合用Perl来做? 哪些事情不适合用Perl来做? 如何取得Perl? CPAN是什么? 如何得到Perl的技术支持? 还有别的技术支持方式吗? 如果发现Perl有bug

perl基本语法

标量 标量是 Perl 中最简单的数据类型.大多数的标量是数字(如 255 或 3.25e20)或者字符串(如 hello或者盖茨堡地址). 数字 perl中所有数字内部的格式都是双精度浮点数. 浮点数 1.25 255.000 255.0 7.25e45 #7.25x10 的 45 次方(一个大整数) -6.5e24 # -6.5x10 的 24 次方(一个大的负数) -12e-24 #- -12x10 的-24 次方(很小的负数) -1.2E-23 #指数符号可以大写(E) 整数 0 200

perl5 第七章 控制结构

第七章 控制结构 by flamephoenix 一.条件判断二.循环:  1.while循环   2.until循环   3.for循环   4.针对列表(数组)每个元素的foreach循环  5.do循环  6.循环控制   7.传统的goto语句三.单行条件 一.条件判断   if ( <expression>) {    <statement_block_1>  }  elsif ( <expression> ) {    <statement_block

perl语言书籍教程推荐

互动出版网计算机频道.为您推荐关于perl语言的书籍教程.包括perl push.perl chomp以及perl python等perl语言内容. perl语言书籍一.<Perl语言编程 第四版(上下册)(影印版)> <perl语言编程>在1991年第一次出版时就无可争议地成为了perl的圣经,它现在依然是这门高实用性语言的入门指南. perl语言书籍二.<Perl语言入门(第六版.中文版)(Perl程序员必读之作)(china-pub首发)> 最具权威性的o'rei

shell脚本编程之选择控制结构

程序开发语言,分为两种,一种是解释型语言,一种是编译型语言.解释型语言是解释语句,并且能根据流程控制机制让语句按需执行,解释一条语句就返回语句的结果,这种语言需要一个解释器,而linux中的bash就是这样的一个解释器,常见的解释型语言有perl,python,ruby,bash.编译型语言,首先需要编译源程序,并且能够将源程序转换为二进制格式,而后让其执行,这种语言需要一个编辑器,如linux下的gcc就是一个编辑器,编译型语言有C,C++,C#等.无论是解释型语言还是编译型语言,都有语言控制

Perl入门(二)Perl的流程控制

Perl是一种粘性语言,如果你有其他语言的基础的话,你会发现他的流程控制完全和你所知的一模一样. 简单说一下他们的区别: Perl的elsif在其他语言里头可能表示为else if Perl的last,next在其他语言里头可能叫break和continue 不用找了,Perl中没有switch,其实这用if else也是可以实现的,不是么? Perl可能比你知道的语言里头多了这些:条件控制结构unless.循环控制结构until Perl还有一些特殊的写法 还是详细介绍一下Perl的流程控制吧