do語句塊結構如下:
do
do語句塊像是匿名子程式一樣,沒有名稱,給定乙個語句塊,直接執行。且和子程式一樣,do語句塊的返回值都是最後乙個執行的語句的返回值。
例如,將使用if-elsif-else結構進行賦值的行為改寫成do。以下是if-elsif-else結構:
my $name;
if($gender eq "male") elsif ($gender eq "female") else
改寫成do結構:
my $name=do
elsif($gender eq "female")
else
}; # 注意結尾的分號
在perl中,使用表示式修飾符改寫流程控制結構的時候,控制符左邊只能寫乙個語句。例如下面的if,左邊有了print後,就不能再有其它語句。
print "..." if(...);
使用do結構,可以將多個語句包圍,然後執行:
#!/usr/bin/perl
use 5.010;
$a=3;
do if $a > 2;
因為do有自己的**塊,有時候可以在這個**塊中使用自己的私有變數。
例如,讀取乙個檔案,將檔案中的內容賦值給乙個變數。(涉及到後面的內容,看不懂請跳過)
my $file_content = do ;
或者:
my $file_content = do ;
Perl的do語句塊結構
do語句塊結構如下 dodo語句塊像是匿名子程式一樣,沒有名稱,給定乙個語句塊,直接執行。且和子程式一樣,do語句塊的返回值都是最後乙個執行的語句的返回值。例如,將使用if elsif else結構進行賦值的行為改寫成do。以下是if elsif else結構 my name if gender e...
perl 中的 foreach 語句
最近在用 perl 來編寫 生成器 的過程中多次遇到對 foreach 語句使用不當的問題。對於這個問題,我在第一次遇到時覺得自己在寫 時沒有想太明白,再次遇到同乙個問題,我覺得很有必要在這裡記錄一下,既為了加深對此問題的印象,也能夠給其他 perl 的初學者提供參考。我這裡提及的 生成器 其實非常...
C中的語句塊
c語言中的語句塊 statement block 其實就是由 括起來的若干條語句。如 複製 這就是乙個語句塊,這個語句塊可以放到函式內,作為函式的乙個小單元。要注意的是,語句塊中也可以定義區域性變數,和函式的區域性變數同樣道理,每次進入語句塊時為變數i分配儲存空間,每次退出語句塊時釋放變數i的儲存空...