區(qū)分 @_ 與 $_; ?$_ 表示數(shù)組@_中當(dāng)前被遍歷到的元素.遍歷整個(gè)@_數(shù)組輸入與輸出標(biāo)準(zhǔn)輸入chomp($line =)
調(diào)用參數(shù)
@ARGV
printf
可以轉(zhuǎn)換格式
%g %d %s %f
文件句柄
open
close
say 自動(dòng)換行的文件句柄
二 控制結(jié)構(gòu)(Control Statements)
1 選擇 if結(jié)構(gòu)
Perl的條件控制敘述和C語(yǔ)言很像,讓使用者很快就能掌握它。不過(guò)Perl比C語(yǔ)言又另外多了些實(shí)用的語(yǔ)法
# Expression 就是條件敘述式,Perl和C一樣沒(méi)有定義布爾數(shù)據(jù)型態(tài)(Boolean datatype),
# 因此 0 是false、非0 是ture。另外要注意字符串運(yùn)算子和數(shù)值運(yùn)算子要分清楚哦。
# Code Segment 就是用大括號(hào)括起來(lái)的一堆指令,也就是一個(gè)Block。
if (Expression) {Code Segment}
if (Expression) {Code Segment} else {Code Segment}
if (Expression) {Code Segment} elsif (Expression) {Code Segment} else {CodeSegment}
# elsif 就是 else if
# 如果指令(statement)只有一項(xiàng),可以使用倒裝句法,看起來(lái)比較簡(jiǎn)潔。
statement if (Expression);
# unless 就是if not
statement unless (Expression);例:
print "HELLO!\n" if ($name eq "friend");
$x-=10 if ($x == 100);
2循環(huán)結(jié)構(gòu)
Perl的循環(huán)控制敘述也和C語(yǔ)言很像,當(dāng)然,照例Perl也另外多了些實(shí)用的語(yǔ)法:
# 注意:純量變數(shù)前面要加個(gè) $ 字號(hào)
for($i=0; $i<=10; $i++) {Code Segment}
# foreach 是承襲UNIX的shell script來(lái)的,
# 第一個(gè)自變量是純量變數(shù),第二個(gè)自變量要用括號(hào)括起來(lái),里面是一個(gè)純量數(shù)組,
# 顧名思義它就是把數(shù)組中的每個(gè)元素依序傳給第一個(gè)自變量,直到全部傳完。
# 它和 for($i=0; $i<=$#array; $i++) 用法雖然不同,但目的都是要取出數(shù)組的每個(gè)元素。
foreach $i (@array) {Code Segment}
# 其實(shí)在Perl中,for和foreach是可以混著用的,就看個(gè)的人習(xí)慣了。
# 下面這行就等于上面第一個(gè)敘述,不過(guò)簡(jiǎn)潔多了,大家可以試著用用看。
for $i (0..10) {Code Segment}
# while控制循環(huán)和后置循環(huán)。
while($i<=10) {Code Segment}
do {Code Segment} while(Expression);
# Perl也有和C語(yǔ)言的break和continue一樣的指令,Perl叫它做 last 和 next .
# last是跳出現(xiàn)在所在的循環(huán),next則是跳過(guò)下面的指令直接執(zhí)行下一次的循環(huán)。
while(chomp($i=)) {
next if ($i == 5);
last unless ($i > 10);
}