控制结构
来源:互联网 发布:汉仪小麦体 mac 编辑:程序博客网 时间:2024/05/16 15:22
-- Start
if 语句
和其他语言一样,Perl 也有 if 语句,不同的是 Perl 没有布尔类型,任何值都可以用于条件判断,数字 0,字符串 '' 和 '0',空列表,undef 等为假,其他为真。下面是一个简单的例子。
#!/usr/bin/perl$a = "a";$b = "b";# 注意此处是比较字符串,所以应该使用字符串比较操作符if($a gt $b) {print "$a > $b";}elsif($a lt $b) { # 注意 elsif 的写法print "$a < $b";}else {print "$a = $b";}
unless 语句
unless 语句和 if 正好相反,条件为假时执行。
#!/usr/bin/perl$a = "a";$b = "b";unless($a gt $b) {print "$a < $b";} else {print "$a >= $b";}
while 语句
#!/usr/bin/perl$n = 1;$sum = 0;while($n <= 100) {$sum += $n;$n++;}print "1+2+3+...+99+100 = $sum\n";
do...while 语句
#!/usr/bin/perl$n = 1;$sum = 0;do {$sum += $n;$n++;} while($n <= 100);print "1+2+3+...+99+100 = $sum\n";
until 语句
#!/usr/bin/perl$n = 1;$sum = 0;until($n > 100) { # 条件为真时退出循环$sum += $n;$n++;}print "1+2+3+...+99+100 = $sum\n";
do...until 语句
#!/usr/bin/perl$n = 1;$sum = 0;do {$sum += $n;$n++;} until($n > 100); # 条件为真时退出循环print "1+2+3+...+99+100 = $sum\n";
for 语句
#!/usr/bin/perl$sum = 0;for($n = 1; $n <= 100; $n++) {$sum += $n;}print "1+2+3+...+99+100 = $sum\n";
foreach 语句
#!/usr/bin/perl# 定义数组@array = (1,2...100);$sum = 0;foreach $a(@array) { # foreach 语句用来迭代数组$sum += $a;$a = 0; # 改变变量$a的值,数组中的值也相应的改变了}print "1+2+3+...+99+100 = $sum\n";
循环控制语句
#!/usr/bin/perl# last:退出循环# next:执行下一循环# redo:重新执行本次循环# goto:跳转
标记语句块
#!/usr/bin/perl# 可以在循环语句前定义一个标记OUT:for($i=1;$i<5;$i++){for($j=1;$j<5;$j++){print "$j ";last OUT if $i==3; # 退出到标记处}}print "\$i=$i";
单行条件与循环语句
如果条件和循环只有一条语句,我们还可以将条件或循环后置。
#!/usr/bin/perl$a = 100;print $a if($a > 0);print $a unless($a <= 0);print $a while($a-- > 0);print $a until($a-- <= 0);
&&,and,||,or 条件语句
我们还可以利用逻辑操作符的短路特性来执行条件语句。
#!/usr/bin/perl# 对于逻辑与来说,如果第一表达式为假,整个表达式为假,# 因此我们不需要判断第二个表达式,所以 warn 函数不会执行# warn 函数用来向控制台输出警告信息$a = 0;$a == 0 && warn("请注意,变量 $a 等于 0。");$a == 0 and warn("请注意,变量 $a 等于 0。");# 对于逻辑或来说,如果第一表达式为真,整个表达式为真,# 因此我们不需要判断第二个表达式,所以 die 函数不会执行# die 函数用来向控制台输出错误信息并退出程序$a = -1;$a >= 0 || die("发现错误,变量 $a 不能小于 0。");$a >= 0 || die("发现错误,变量 $a 不能小于 0。");
-- 更多参见:Perl 精萃
-- 声 明:转载请注明出处
-- Last Updated on 2012-06-30
-- Written by ShangBo on 2012-06-17
-- End
- 控制结构
- 控制结构
- 控制结构
- 控制结构
- 控制结构
- 控制结构
- Shell控制结构--流控制
- Shell控制结构--循环控制
- C++控制结构-控制结构跳转语句
- 控制结构及数组
- c++控制结构
- Tcl 控制结构
- 自适应滑模变结构控制
- 控制流结构
- PLSQL 控制结构
- oracle控制结构
- 生命期控制结构
- 请求处理控制结构
- Oracle EBS教学视频
- android调用天气预报的webservice服务的例子
- SRM 546 div2
- struts2中的拦截器
- yarin的blog
- 控制结构
- 使用AudioTrack播放PCM音频数据(android)
- linux中link,unlink,close,fclose详解 .
- oracle 11gR2 新增deinstall命令来卸载grid和database
- GetPrivateProfileString函数简介
- Linux命令--管道 |左边的输出是右边的输入
- 土鳖的货币
- vc中使用SendMessage正确发送自定义消息的方法
- 如何关闭selinux