1. 條件控制語句
if(條件運算式)
{
#語句
}
else
{
#語句
}
given…when結構形式為:
given (標量)
when() { }
when() { }
when() { }
when() { }
given語句的用法為:
#!/usr/bin/perl -w use 5.010001; my $m=<STDIN>; given ($m) { when (/[0-9]/) {print "it is a number\n";} when (/[a-z]/) {print "it is a letter\n"} default {print "\n";} }
2. 迴圈控制語句
(1)while (條件運算式)
{
# 迴圈體語句
}
(2)until (條件運算式)
{
# 迴圈體
}
(3)do
{
#迴圈體
}while(條件運算式)
(4)foreach標量(標量)
{
# 迴圈體
}
foreach的簡單使用執行個體為:
#!/usr/bin/perl -w
foreach $m (1..10)
{
print "$m\n";
}
(5)for迴圈語句與foreach等價
形式為
for(運算式;運算式;運算式)
(6)迴圈控制的next,last以及redo
next語句用於跳過本次迴圈,執行下一次迴圈,last語句用於退出迴圈,redo語句用於回到本次迴圈的開始。next與redo 的區別在於next會跳過本次迴圈。下面是三種語句的使用執行個體:
#!/usr/bin/perl -w use 5.01; my $n; for($n=0;$n<10;$n++) { say "$n"; say "input a command:next,last or redo"; my $com=<STDIN>; last if $com=~/last/; next if $com=~/next/; redo if $com=~/redo/; }
在上面的程式中,輸入last會跳出迴圈,輸入redo會再次列印本次迴圈的輸出,輸入next會列印下一個數字。
(7)上面講到的last僅僅能退出本層迴圈,如果想要退出多層迴圈,可以使用帶有標籤的語句。使用的例子為:
#!/usr/bin/perl -w use 5.01; my $num; my $j; LABEL:for($num=0;$num<10;$num++) { for($j=0;$j<$num;$j++) { say "input a string"; my $str=<STDIN>; if ($str=~/stop/) { last LABEL; } say "you have input: $str"; } }
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/
在for迴圈的前面加了LABEL標籤,在內層迴圈中使用last LABEL就可以退出兩層迴圈了。上面的程式中輸入stop即可退出迴圈。
3. 函數的定義及使用
函數的基本形式為
sub <函數名>
{
# 函數體
}
如定義函數
sub hello
{
print “hello world\n”;
}
可以在意運算式中使用子程式名加上&來調用它,
#! /usr/bin/perl –w sub hello { print “hello world\n”; } &hello;
程式中出現hello,world
下面定義了guess函數,用迴圈語句實現猜數位功能:
#!/usr/bin/perl -w my $n=100; my $num=int(rand($n)); sub guess{ do { print "input a number which is in the range of (0,100)"; $number=chmop(<STDIN>); if ($number == $num){ print "riht\n"; } elsif ($number < $num){ print "too low\n"; } else { print "too high\n"; } }while (1); } &guess;
作者:csdn部落格 零丁若歎