加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl 学习笔记(6)

发布时间:2020-12-16 00:21:51 所属栏目:大数据 来源:网络整理
导读:控制程序流 本章中将要学习:语句块;运算符;循环;标号;程序执行后退出Perl 一、if语句 if (expressn) BLOCK if ($r == 5) { ???? print 'The value of $r is equal to 5.'; } 只有当表达式是真的时候,表达式后面的语句块才运行;如果表达式不是真,那么

控制程序流

本章中将要学习:语句块;运算符;循环;标号;程序执行后退出Perl

一、if语句

if (expressn) BLOCK

if ($r == 5) {

???? print 'The value of $r is equal to 5.';

}

只有当表达式是真的时候,表达式后面的语句块才运行;如果表达式不是真,那么else后面的语句块运行。

$r=<STDIN>;chomp $r;

if ($r == 10) {

???? print '$r is 10';

} else {

???? print '$r is something other than 10....';

???? $r=10;

???? print '$r has been set to 10';

}

请记住,运算符=用于赋值,而==则用于测试一个等式。

$r=10;

if ($r==10) {

???? print '$r is 10!';

} elsif ($r==20) {

???? print '$r is 20';

} else {

???? print '$r is neither 10 nor 20';

}

==================================================

如果想测试非数字值,可以使用字母关系运算符

eq?????????? $e eq $t??????? 等于

gt??????????? $e gt $t??????????大于

lt????????????? $e lt $t??????????小于

ge????????????$e ge $t???????? 大于等于

le???????????? $e le $t?????????? 小于等于

ne??????????? $e ne $t?????????? 不等于

=========================================================

逻辑运算符

&&???????? and?????? $s &&$t???? 当都为真,才是真

||??????????????or????????? $a || $b????? 当有一个为真,才是真

!?????????? not???????? !$m?????????? 不为真,才为真(求反)

if ($x and $y and not $z) {

?????? print "All conditions met.n";

}

运算符|| 和 or 并不完全相同,|| 运行优先级要高于or。也适用于&& /and

=========================================================

二、用while进行循环

当perl遇到while语句时,它就计算该条件。如果条件计算的结果是真,代码就运行。当运行到代码块的结尾时,表达式被重新计算,如果结果仍然是真,代码块重复执行。

$counter=0;

while ($counter < 10) {

??????? print "Still counting,$counter";

??????? $counter++;

}

=================================================================

三、使用for循环

for语句是perl循环结构中最复杂和最有用的

for ($a=0;$a<10;$a=$a+2) {

????? print "a is now $an";

}

在上面的代码中,$a设置为0,执行测试表达式$a<10,发现结果为真。循环的本身输出了一条消息,然后递增语句$a=$a+2开始运行,将$a的值递增2.

=========================================================

明细控制

while ($i<10) {

????? last? if? ($i==5);

????? $i++;

}

last语句能够在$i的值是5时使while循环退出

next语句使得控制权被重新传递给循环的顶部

for ($i=0;$i<100;$i++) {

??????? next? if (not $i %2);

??????? print "An odd number=$in";

}

==================================================

退出perl

exit语句是最后的一个流控制工具。当perl遇到exit语句时,程序就停止执行,perl 将一个退出状态返回给操作系统。

if ($user eq 'quit') {

?????? print? "Good byen";

?????? exit 0;

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读