文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Perl开发的学习-3

2023-01-31 00:58

关注

计算机作为一种计算工具,其优势在于执行重复任务和根据条件进行大量判断(因此循环语句,条件语句及顺序执行语句是计算机控制结构中基本语句,而与人类语言中句法完全不同)。

clip_image002

clip_image004

clip_image006

clip_image008

clip_image010

clip_image012

clip_image014

clip_image016

clip_image018

clip_image020

clip_image022

clip_image024

[root@windriver-machine test]# cat ctl.pl
#!/usr/bin/perl

print "\$a's value restore after the cycle:";
$a=1;
print "$a\n";
foreach $a(2,3,4)
{
print "$a is in cycle\n";
}
print "$a not in cycle\n";

print "\n change the var of cycles will impact the data of arrays:\n";
@a=(1,2,3);
print "@a\n";

foreach $c(@a){$c=4 if $c==2;}

print "@a\n";

print "\n may visit part elements of arrays:\n";
@a=(1,2,3);
print "@a\n";
foreach $c(@a[1,2]){print "$c\n";}

print "\n the defalut var of cycles is \$_:\n";
@a=(1,2,3);
foreach (@a){print "$_\n";}

print "\nfor and foreach is same:\n";
foreach($i=1;$i<5;$i++){print "$i\n";}

print "using LABEL:\n";
LABEL:for($i=1;$i<5;$i++){
         for($j=1;$j<5;$j++){
             print "$i ";
             last LABEL if $i==3;
          }
        }
print "\$i=$i\n";

print "continue test\n";
$a=0;

while($a++<10)
{
($f=1,next) if $a==5;
print "$a";
}
continue {
(print (":$a in continue:"),$f=0) if ($f==1);
}
[root@windriver-machine test]# perl ctl.pl
$a's value restore after the cycle:1
2 is in cycle
3 is in cycle
4 is in cycle
1 not in cycle

change the var of cycles will impact the data of arrays:
1 2 3
1 4 3

may visit part elements of arrays:
1 2 3
2
3

the defalut var of cycles is $_:
1
2
3

for and foreach is same:
1
2
3
4
using LABEL:
1 1 1 1 2 2 2 2 3 $i=3
continue test
1234:5 in continue:678910[root@windriver-machine test]#

Perl语句根标准C/C++有很大的不一样,需要特别注意。

1) 条件语句,使用if(){} elsif(){} …else{},需要注意这里是elsif ,另外可以使用unless() {}

单选if 语句也是只有perl才有,() if() 或者() unless()

2) 循环条件语句,使用while(){} 或者do{} while() 及while() {} continue{}。 Until(){} ,do{} until(),util(){}continue{},特别是带continue,这一点与C完全不一样,需要特别注意.单选语句,一定要有结束条件。

3) 循环语句,使用for,foreach.注意这里面的控制last,next,redo,goto跟通常意义的理解也不一样的,需要特别注意。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯