欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2013年02月05日 12:01:45   作者:  
在perl的if控制結(jié)構(gòu)中,只有當(dāng)條件表達(dá)式為真時(shí)才執(zhí)行某塊代碼。如果想讓程序塊在條件為假時(shí)才執(zhí)行,此時(shí)可以把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)來判斷相反的條件。另一種說法是它類似于獨(dú)立的else子句。也就是說,當(dāng)看不懂某個(gè)unless語(yǔ)句時(shí),可以用如下的if語(yǔ)句來代替:
復(fù)制代碼 代碼如下:

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

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

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

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

unless附帶的else子句

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

復(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語(yǔ)句我們可以寫成這樣:
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)文章

  • Perl命令行應(yīng)用程序詳解

    Perl命令行應(yīng)用程序詳解

    這篇文章主要介紹了Perl命令行應(yīng)用程序詳解,本文大量講解了perl的命令行參數(shù)和一句話實(shí)現(xiàn)的一些功能,需要的朋友可以參考下
    2015-02-02
  • Windows10下安裝配置 perl 環(huán)境的詳細(xì)教程

    Windows10下安裝配置 perl 環(huán)境的詳細(xì)教程

    Perl 最重要的特性是Perl內(nèi)部集成了正則表達(dá)式的功能,以及巨大的第三方代碼庫(kù)CPAN。這篇文章主要介紹了Windows10下安裝配置 perl 環(huán)境的詳細(xì)教程,需要的朋友可以參考下
    2020-12-12
  • perl的POD權(quán)限問題處理

    perl的POD權(quán)限問題處理

    今天我們繼續(xù)查找mod_perl對(duì)req_header的處理,有需要的朋友建議參考學(xué)習(xí)之
    2013-02-02
  • perl大文件讀取處理的模塊介紹

    perl大文件讀取處理的模塊介紹

    perl CPAN中有一個(gè)Tie-File 模塊極大方便了對(duì)大文件的操作
    2013-02-02
  • perl文件包含(do,require,use)指令介紹

    perl文件包含(do,require,use)指令介紹

    Perl中的文件包含,有三種方法:do, require, 以及use,這里簡(jiǎn)單的介紹下方便需要的朋友
    2013-02-02
  • About Perl(翻譯Perl官網(wǎng)介紹)

    About Perl(翻譯Perl官網(wǎng)介紹)

    這篇文章主要介紹了About Perl(翻譯Perl官網(wǎng)介紹),本文翻譯自Perl官網(wǎng)介紹,講解什么是Perl、Perl的歷史、Perl 5 特征、Perl在WEB環(huán)境下的使用等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • 用python下載百度文庫(kù)的代碼

    用python下載百度文庫(kù)的代碼

    一個(gè)用python下載百度文庫(kù)的代碼,需要的同志請(qǐng)修改,下面有提示
    2012-08-08
  • perl產(chǎn)生隨機(jī)數(shù)實(shí)現(xiàn)代碼

    perl產(chǎn)生隨機(jī)數(shù)實(shí)現(xiàn)代碼

    Perl利用函數(shù)rand()和srand()為隨機(jī)數(shù)(更確切的說是“偽隨機(jī)數(shù)”)字符串的生成提供了基本的工具
    2013-02-02
  • Perl 哈希Hash用法之入門教程

    Perl 哈希Hash用法之入門教程

    本文和大家重點(diǎn)討論一下Perl Hash的用法,哈希是一種數(shù)據(jù)結(jié)構(gòu),和數(shù)組類似,但是,和數(shù)組不同的是,其索引不是數(shù)字,而是名字。也就是說,索引(這里,我們將它叫key)不是數(shù)字而是任意的唯一的字符串
    2013-02-02
  • Perl中的10個(gè)操作日期和時(shí)間的CPAN模塊介紹

    Perl中的10個(gè)操作日期和時(shí)間的CPAN模塊介紹

    這篇文章主要介紹了Perl中的10個(gè)操作日期和時(shí)間的CPAN模塊介紹,本文介紹了Date::Manip、DateTime、Time::Format、Time::Interval、Date::Convert、Benchmark、Time::Normalize、Regexp::Common::time等10個(gè)模塊,需要的朋友可以參考下
    2015-02-02

最新評(píng)論