最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

學習perl的unless控制結(jié)構(gòu)

 更新時間:2013年02月05日 12:01:45   作者:  
在perl的if控制結(jié)構(gòu)中,只有當條件表達式為真時才執(zhí)行某塊代碼。如果想讓程序塊在條件為假時才執(zhí)行,此時可以把if改成unless

例如:

復(fù)制代碼 代碼如下:

unless ($fred =~ /^([A-Z_]\w*$/i) {
  print "The value of \$fred doesn't look like a Perl identifier name. \n";
}

使用unless意味著,要么條件為真,要么執(zhí)行某塊代碼。這就好像使用if控制結(jié)構(gòu)來判斷相反的條件。另一種說法是它類似于獨立的else子句。也就是說,當看不懂某個unless語句時,可以用如下的if語句來代替:
復(fù)制代碼 代碼如下:

if ($fred =~ /^([A-Z_]\w*$/i) {
  //什么都不做
} else {
   print "The value of \$fred doesn't look like a Perl identifier name. \n";
}

如此操作與運行效率高低無關(guān),兩種寫法應(yīng)該會被統(tǒng)譯成相同的內(nèi)部字節(jié)碼。另外一個改寫的方法,就是以取反操作符!來否定條件:
復(fù)制代碼 代碼如下:

if ( ! ($fred =~ /^([A-Z_]\w*$/i) ) {
  print "The value of \$fred doesn't look like a Perl identifier name. \n";
}

通常應(yīng)該選擇最容易理解的方法來寫代碼,因為這通常對于維護程序員來說也是最容易理解的。如果用if來表達最合適,那么就這么寫也行。但是更多的情況下使用unless能使你的表達更加自然。

unless附帶的else子句

其實哪怕是在unless結(jié)構(gòu)中也可以使用else語句,雖然支持這樣的語法,但是可能會導致困惑:

復(fù)制代碼 代碼如下:

#!/usr/bin/perl -w
unless ($mon =~ /^Feb/) {
  print "This month has at least thirty days.\n";
} lese {
  print "Do you see what's going on here?\n";
}
#如果用if語句我們可以寫成這樣:
if ($mon =~ /^Feb/) {
  print "Do you see what's going on here?\n";
} else {
  print "This month has at least thirty days.\n";
}

相關(guān)文章

最新評論

宁陕县| 延吉市| 通城县| 兰坪| 阿拉善右旗| 体育| 赞皇县| 宁河县| 玛沁县| 芜湖县| 随州市| 齐河县| 加查县| 江源县| 潢川县| 利辛县| 宜都市| 和平县| 宜川县| 右玉县| 三原县| 汉中市| 湄潭县| 新建县| 绥中县| 庐江县| 华容县| 莱西市| 固原市| 西华县| 峨眉山市| 湘乡市| 金川县| 洛阳市| 陆川县| 榆林市| 藁城市| 建瓯市| 兴山县| 巧家县| 拉萨市|