您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何進(jìn)行perl控制結(jié)構(gòu)學(xué)習(xí),文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一.條件判斷
if ( )
{
}
elsif ( )
{
}
...
else
{
}
實(shí)例
#!/usr/bin/perl
use strict;
use warnings;
my $in =<STDIN>; #用戶輸入一個(gè)數(shù)字
chomp($in);
if($in>90){ #如果輸入數(shù)字大于90 則大于 $IN>a
print '$in>a';
}else{ #否則打印$IN <a
print '$in<a';
}
二.循環(huán)
1.while循環(huán)
while ( )
{
}
2.until循環(huán) #條件為假是執(zhí)行循環(huán)
until ( )
{
}
實(shí)例
#!/usr/bin/perl
use strict;
use warnings;
my $i = 1; my $j = 10;
until($i>$j){ #$i>$j 此處條件為假
$i++;
print "Hello\n";
}
打印結(jié)果
---------- Perl ----------
2
3
4
5
6
7
8
9
10
11
Output completed (0 sec consumed) - Normal Termination
結(jié)論從打印結(jié)果可以看出 只要until循環(huán)滿足 判斷條件為假 執(zhí)行條件真時(shí)結(jié)束循環(huán)。實(shí)例可以看出 當(dāng)$i =11 時(shí) $i>$j 條件為真 結(jié)束循環(huán)。
3.類(lèi)C的for循環(huán)
for ($count=1; $count <= 5; $count++)
{
#statements inside the loop go here
}
4.針對(duì)列表(數(shù)組)每個(gè)元素的foreach循環(huán)
foreach localvar (listexpr)
{
statement_block;
}
注:
(1)此處的循環(huán)變量localvar是個(gè)局部變量,如果在此之前它已有值,則循環(huán)后仍恢復(fù)該值.
(2)在循環(huán)中改變局部變量,相應(yīng)的數(shù)組變量也會(huì)改變.
例:
foreach $word (@words)
{
if ($word eq "the")
{
print ("found the word 'the'\n");
}
}
此外,如果localvar省略了的話,PERL將使用默認(rèn)變量$_.
例:
@array = (123, 456, 789);
foreach (@array)
{
print $_;
}
$_是PERL最常使用的默認(rèn)變量,上例中print后面的$_也可以去掉,當(dāng)print沒(méi)有參數(shù)時(shí),會(huì)默認(rèn)輸出$_變量.
5.do循環(huán)
do
{
statement_block
} while_or_until(condexpr);
do循環(huán)至少執(zhí)行一次循環(huán).
6.循環(huán)控制
退出循環(huán)為last,與C中的break作用相同;
執(zhí)行下一個(gè)循環(huán)為next,與C中的continue作用相同;
PERL特有的一個(gè)命令是redo,其含義是重復(fù)此次循環(huán),即循環(huán)變量不變,回到循環(huán)起始點(diǎn).但要注意,redo命令在do循環(huán)中不起作用.
三.單行條件
語(yǔ)法為statement keyword condexpr.其中keyword可為if, unless, while或until.例如:
print ("This is zero.\n") if ($var == 0);
print ("This is zero.\n") unless ($var != 0);
print ("Not zero yet.\n") while ($var-- > 0);
print ("Not zero yet.\n") until ($var-- == 0);
雖然條件判斷寫(xiě)在后面,但卻是先執(zhí)行的。
上述就是小編為大家分享的如何進(jìn)行perl控制結(jié)構(gòu)學(xué)習(xí)了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。