国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Perl的簡單語法(與C語言語法的異同)1

1 基本輸入輸出

在 BASH 腳本程序中,我們用 read var 來實現(xiàn)從鍵盤的輸入,用 echo $var 來實現(xiàn)輸出。那么在 Perl 中將有一點變化。Perl 中將標(biāo)準(zhǔn)輸入用關(guān)鍵詞 表示;標(biāo)準(zhǔn)輸出用 表示,標(biāo)準(zhǔn)錯誤輸出用 表示。故而從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)可以寫成:

$var=; # 讀取一行輸入,并存入變量 $var 中。

@var=; # 讀取多行輸入,并存入數(shù)組 @var 中。

在 Perl 語言中,變量 $_ 是許多操作符的缺省變量。因此如果需要讀入許多行并對每行分別處理一般這樣寫:

 while($_=){

chop($_); # chop 調(diào)用用于去掉 $_ 變量中的最后一個字符(換行符)。

# 處理$_(每一行)

 }

或者可以簡寫為:

 while(){

chop; # 等同于chop($_)

# 處理$_(每一行)

 }

如果 <> 括號之間沒有任何字符,則表示從命令行所指示的文件中讀取數(shù)據(jù),看下面這個例子(read.pl):

 #!/usr/bin/perl;

 while(<>){

print $_;

 }

如果在命令行輸入 $ perl read.pl read.pl 。這個程序?qū)⒃谄聊簧洗蛴〕鑫募?read.pl 的每一行。

在前面的例子中我們已經(jīng)看見,Perl 語言中向標(biāo)準(zhǔn)輸出輸出數(shù)據(jù)可以用 print 語句。我們在 print 語句中可以輸出多個變量,變量之間用 "," 分隔開來。如下面的例子:

 print 3,45*2,"hello",2+2;

上面的輸出語句將給出 "390hello4" 的輸出結(jié)果。

除了 print 語句以外,Perl 中還提供了一個 printf 語句用于標(biāo)準(zhǔn)輸出,不過 printf 更接近于 C 語言的 printf 函數(shù),可以進行格式化的輸出,如:

 printf "%10s% 8d%8.2f\n",$a,$b,$c;

 printf("%10s% 8d%8.2f\n",$a,$b,$c); # 加上括號的 C 語言寫法也是可以的。

 

另外 print 和 printf 在輸出數(shù)組變量的時候也是不同的,如下例:

@a = (1 , 2, 3);

printf @a;

print "\n";

print @a;

print "\n";

輸出的結(jié)果是:

1

123

如果在 @a 兩邊加上 "" ,則輸出就都是 123了。

2   分支循環(huán)控制結(jié)構(gòu)

if 語法

Perl 語言的 if...then...else... 語句結(jié)構(gòu)和 C 語言非常相似,該結(jié)構(gòu)一共有三種變種,分別如下:

if 語法 1:

if(判別運算式)

{

表達式為真時的語句塊;

}

或?qū)懗桑?strong>表達式為真時的語句 if (判別運算式);

實例為:print "您的分?jǐn)?shù)及格了!\n" if ($score>=60);

if 語法 2:

if(判別運算式一){

判別式一為真時的語句塊;

}else{

判別式一為假時的語句塊;

}

if 語法 3:

if (判別運算式一)

{

判別式一為真時的語句塊;

}elsif(判別運算式二){

判別式二為真時的語句塊;

}elsif(判別運算式三){

判別式三為真時的語句塊;

}else{

所有判別式為假時的語句塊;

}

unless 語法

unless的含義就是說“如果判別式不為真,就執(zhí)行...”。

unless 語法 1:

unless(判別運算式) {

判別式為假時語句塊;

}

或?qū)憺椋?em>判別式為假時語句 unless (判別運算式);

 

unless 語法 2:

unless(判別運算式)

{

判別式為假時語句塊;

}else{

判別式為真時語句塊;

}

進階技巧:"&&"、"||" 及 "? :"

這些符號看上去像標(biāo)點符號,或是表達式的一部分。和 C 語言中一樣,他們在 Perl 語言中也可作為控制結(jié)構(gòu),而且更簡潔,只是可讀性差了很多。

比如說:

 if (判別表達式) {為真時語句塊};

也可以寫為:

 判別表達式 && 為真時的語句塊

同樣道理,unless(this){that} 可替換為 this||that

: 則可以這樣使用:

exp1?exp2:exp3

這個式子表示:如果 exp1 為真則求 exp2 的值,否則求 exp3 的值。

while 循環(huán)語法

Perl 語言中 while, do...while, for, until, foreach 均可以用于實現(xiàn)循環(huán)結(jié)構(gòu),循環(huán)中還可以用 last,next,redo 等操作符進行控制。下面我們先介紹 while 語法。

while(判別運算式) {

程序敘述區(qū)塊;

}

上個語法在Perl中也可以寫成: 程序敘述區(qū)塊 while(判別運算式);

do...while 循環(huán)語法

do

{

程序敘述區(qū)塊;

}while(判別運算式);

 

在 while 和 do while 循環(huán)最大的區(qū)別是在 do while 循環(huán)中,循環(huán)體至少會被執(zhí)行一次。

until 循環(huán)語法

until(判別運算式)

{

程序敘述區(qū)塊;

}

上個語法在Perl中也可以寫成: 程序敘述區(qū)塊 until (判別運算式);

do...until 循環(huán)語法

do{

程序敘述區(qū)塊;

}until (判別運算式);

for 循環(huán)語法

for (初始化運算式;判別運算式;循環(huán)過程運算式)

{

程序敘述區(qū)塊;

}

或者

for $variable(@array)

{

程序敘述區(qū)塊;

}

 

第二個語法中如果把 $variable 變量省略的話,就會將數(shù)組 @array 的元素一個一個指定給 $_ 這個變量,這是比較精簡的寫法。其中第一個語法更接近于 C 語言的語法。

foreach 循環(huán)語法

foreach $variable(@array)

{

程序敘述區(qū)塊;

}

如果把$variable變量省略的話,就會將數(shù)組@array的元素一一指定給$_這個內(nèi)定的輸出變量.

last 退出循環(huán)語法

范例:

for($i=1;$i<=10;$i++)

{

last if ($i==5); # 如果 $i 等于5的話就退出 for 循環(huán)

print"$i\n";

}

next 繼續(xù)循環(huán)語法

范例:

for($i<=10;$i++)

{

# 如果是 2 的倍數(shù)的話,就到循環(huán)的下一個陳述

next if($i%2)==0)

print"$i是一個奇數(shù)!\n";

}

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java之for循環(huán)break、continue
mysql 5.0存儲過程學(xué)習(xí)總結(jié)
vb語法
VB中的語法規(guī)則
vb.net的循環(huán)語句
shell入門基礎(chǔ)(6)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服