您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Perl控制結構怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Perl控制結構
先來看看Perl中的循環結構吧。
1:Perl控制結構之while結構
while結構在perl中有三種形式。***種形式是這樣的:
#!/user/bin/perl-w usestrict; { my$a=0; while(3>$a) { print$a++; print""; } }
第二種是定語后置式。呵呵,英文好的覺得很正常了。
#!/user/bin/perl-w usestrict; { my$a=0; print$a++.""while(3>$a); }
第三種是這個樣子的,很古怪,真的很古怪。這種用法就是加上一個continue:
#!/user/bin/perl-w usestrict; { my$a=0; while(3>$a) { print"$a"; } continue { if($a++>1)print"hello"; } }
這種結構會在每個while運行了一圈之后運行一遍continue的部分,然后繼續進行while循環。
2:Perl控制結構之for結構
for結構是各種語言中都有的。perl中的for結構和c語言中的非常相近。下面是一個例子。
#!/user/bin/perl-w usestrict; { my$a; for($a=0;$a<10;$a++) { print"$a"; } }
對于數組我們可以這樣訪問。
#!/user/bin/perl-w usestrict; { my@a=(1..10); my$counter; for($counter=0;$counter<@a;$counter++) { print"$a[$counter]"; } }
這里面出現了一句$counter<@a,記住,數組在標量情況下即@a返回的是數組的長度,這樣就好懂了,是不是?
3:foreachPerl控制結構
foreachPerl控制結構很好玩的,在bsh和javascript中有一種for(in)循環和foreach很相象。其他的語言我不熟悉,不知道有沒有相近的。foreach的用法可以從下面的例子得知:
#!/user/bin/perl-w usestrict; { my@a=(1..10); my$counter; foreach$counter(@a) { print"$counter"; } }
這個程序將會把@a數組中所有的元素先逐個引用給$counter,然后把$counter地值打印出來。注意,我這里說得是引用,不是賦值,perl里面的“=”實際上是在進行引用,而不是賦值,這是需要同c嚴格區分的。下面的例子更加好玩一點,看一看:
#!/user/bin/perl-w usestrict; { my@a=(1..10); my$counter; foreach$counter(@a) { $counter++; } print"@a"; }
猜一猜將會打印出什么?呵呵,是234567891011。因為,$counter是@a中每個元素的引用,所以$counter++就對@a中每個元素進行了++操作。foreach用在hash中是非常爽的。
一種編程語言中的Perl控制結構是控制程序流程走向的語句和語法,今天先來學學最基本的三個控制If、Unless、Until,呵呵,其實跟其他編程語言中的對應語句的用法沒有大的區別,我們就通過幾個例子來看一看吧。
if是各種語言中都有的結構,但是perl的if似乎有點……那個,可稱之為“定語后置”。具體來說就是這個樣子的
#!/usr/bin/perl-w usestrict; { my$a=3; print"thankgod!"if($a==3); }
當然這是一個很無聊的程序了,但給大家演示了perl中定語是如何后置的。其他地方if的用法同其他語言就沒什么區別了。又例如下面的例子
#!/usr/bin/perl-w usestrict; { my$a; for($a=0;$a<10;$a++) { if($a>5)print"haha"; } }
有了if就一定會有else,else也沒有什么特別的。用法如下:
#!/usr/bin/perl-w usestrict; { my$a; for($a=0;$a<10;$a++) { if($a>5)print"haha"; elseprint"lala"; } }
關于“Perl控制結構怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。