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 indentifier name.\n";

}

2.unless ‘s else statements

unless(condition)

{

statements;##run when condition false

}

else

{

statements;##run when condition true

}

3.until / while 控制结构  <===反置关系

until(condtion)

{

body; ###run when condition false

}

4.表达式修饰符用 if/unless  while/until

statements if/unless/while/until

eg:

print "$n is a negative number.\n" if $n <0;

&error("Invalid input") unless &valid($input);

$i*2 until $i > $j;

print "",($n+=2) while $n < 10;

&greet($_) foreach @person;

print "fred is ‘$fred‘ , barney is ‘$barney‘\n "  if $I_am_curious;

5.裸块(naked)控制结构

所谓裸块(naked)就是指没有关键字或条件的快。

eg:

while(condition){

body;

body;

body;

}

去掉关键字和条件表达式:

{

body;

body;

body;

}

naked block 可以提供一个临时词法变量的作用域。

6.自递增与自递减

7.for 控制结构

for、 foreach 在perl中完全等价。

8.循环控制

1.last   相当于break

2.next  相当于continuous

3.redo  表示回到当前循环块的开头,但不测试任何条件表达式或进入下一个迭代。

last/next/redo都是对最内层循环块。

9.逻辑操作符(&& ||)

逻辑操作符有短路问题。但perl的逻辑操作符short-circuit逻辑操作符的值是最后被计算的部分,而不是一个布尔值。

10.三元操作符(?:)

11.使用部分计算操作符的控制结构

特点:对于&& 、|| 、?:有个共同属性即依赖于左侧值的真假,他们可能计算或不计算一个表达式。

eg:

($a > 10) || print "why is it not greater?\n";

时间: 2024-11-08 10:47:31

perl之更多的控制结构的相关文章

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

结束C#2的讲解:最后的一些特性

分部类型 可以在多个源文件中为一个类型编写代码.特别适合用于部分代码是自动生成,而其他部分的代码为手动类型. 多个源代码文件组成的类型为分部类型 #region 7-1演示分部类型的混合声明 partial class Example<TFirst, TSecond> : IEquatable<string> where TFirst : class//接口和类型的参数约束,如果实现基类,则必须为EventArgs { public bool Equals(string other

JVMS Specification(2)-Compiling for the Java Virtual Machine

Subsections 2       Compiling for the Java Virtual Machine 2.1        Format of Examples 2.2        Use of Constants, Local Variables, and Control Constructs 2.3        Arithmetic 2.4        Accessing the Runtime Constant Pool 2.5        More Control

C# in depth (第七章 最后的一些特性)

分部类型:可以在多个源文件中为一个类型编写代码.特别适用于部分代码是自动生成,而其他代部分的代码为手写类型. 静态类:对工具类进行整理,以便编译器能明白你是否在不恰当的地使用它们,并使你的意图更清晰. 独立的取值方法/赋值方法属性访问器:属性终于有了公有取值方法和私有赋值方法了!(这不是惟一的组合,不过这是最常见的组合). 命名空间别名:在类型名称不惟一的情况下的一种解决方式. pragma指令:用于操作的特定编译器指令,如禁止对某一特殊代码段使用特定的警告信息. 固定大小的缓存区:在非安全代码

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语言学习笔记 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: 控制结构

Perl结构控制语句: if条件语句: if    (condition) { expression; }    elsif   { expression; } else { expression; } unless条件语句: 条件为假时执行. unless (condition) { expression; }    elsif   { expression; } else { expression; } while循环语句: while    (condition){ expression;

perl进阶中文版 第一章 介绍

翻译尊重原版,以自己的方式最大化地阐述原版内容. 更多内容请访问www.from0701.com.每周更新两章. 欢迎来到perl学习的下一阶段.你来这儿的理由可能是你想编写100行以上的代码或者仅仅是你的老板要求你这么做. 我们的<perl语言入门>如此伟大是因为他介绍了如何用perl编写中小型程序(在我们看来,这是perl最普遍的用途).但是为了不让我们的“小骆驼书”太厚重,我们有意并且小心地移除了很多内容. 接下来,我们将用和小骆驼书一样的风格去继续我们的故事.这儿包含了编写100-10

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

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