控制结构

前端之家收集整理的这篇文章主要介绍了控制结构前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

-- 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

猜你在找的Perl相关文章