You are on page 1of 9

Perl 程式設計語法整理 撰寫人:陳志華

Perl 程式設計語法整理

Perl 程式設計語法整理.................................................................................................1
變數篇....................................................................................................................2
運算子篇................................................................................................................3
流程控制篇............................................................................................................4
副函式篇................................................................................................................7
輸出入篇................................................................................................................8
資料庫篇(MySQL)................................................................................................9

第1頁
Perl 程式設計語法整理 撰寫人:陳志華

變數篇

1、$變數名稱=變數值;
2、一維陣列宣告:@變數名稱= (變數值 1,變數值 2,…,變數值 n);
3、二維陣列宣告:@變數名稱= (@array1(…),@array2(…),…,@arrayn(…));

例:
$Value=10;
@animals = ("dog", "cat", "sheep", "fish");

第2頁
Perl 程式設計語法整理 撰寫人:陳志華

運算子篇

1、算術運算子
運算子 說明 範例
+ 加法 3+5=8
- 減法 5-3=2
* 乘法 5*3=15
/ 除法 15/3=5
** 次方 5**3=125
% 取餘數 14 % 3=2

2、字串連結運算子
運算子 說明 範例
. 字串連結 “ab”.”cd”=”abcd”

3、比較運算子
運算子 說明 範例 結果
== 等於 1==2 False
!= 不等於 1!=2 True
< 小於 1<2 True
> 大於 1>2 False
<= 小於等於 1<=2 True
>= 大於等於 1>=2 False
<=> 物件比較 A <=> 2 If A > 2,則回傳 1
If A = 2,則回傳 0
If A < 2,則回傳-1

4、邏輯運算子
運算子 說明
Not(!) 非,傳回運算元相反的值
And(&&) 且,連結的兩個運算元都為 True,則運算式為 True
Or(||) 或,只要任一個為 True,則運算式為 True

第3頁
Perl 程式設計語法整理 撰寫人:陳志華

流程控制篇

1、If:
if (條件式){
執行程式碼;
}

2、If…Else:
if (條件式){
執行程式碼;
}
else{
執行程式碼;
}

3、If…ElseIF:
if(條件式){
執行程式碼;
}
elseif(條件式){
執行程式碼;
}
else{
執行程式碼;
}

4、For
for(條件初始值;條件判斷式;條件改變式){
執行程式碼;
}

在迴圈中,可使用 next 中斷迴路


for(條件初始值;條件判斷式;條件改變式){

next;

}

第4頁
Perl 程式設計語法整理 撰寫人:陳志華

例:
for($i=1;$i<=10;$i++){
$Total+=$i;
}

5、Foreach
for $變數名稱(@陣列名稱){
執行程式碼;
}

在迴圈中,可使用 next 中斷迴路


for $變數名稱(@陣列名稱){

next;

}

例:
@array = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
for $i(@array){
$Total+=$i;
}

6、While
while(條件式){
執行程式碼;
}

在迴圈中,可使用 next 中斷迴路


while(條件式){

next;

}

例:

第5頁
Perl 程式設計語法整理 撰寫人:陳志華

$i=1
while($i<=10){
$Total+=$i;
$i++;
}

第6頁
Perl 程式設計語法整理 撰寫人:陳志華

副函式篇

1、sub
建立:
sub 副函式名稱{
執行程式碼;
return 回傳值;
}

呼叫:
$變數名稱=副函式名稱();
此時會將副函式的回傳值指定給該變數

2、sub
建立:
sub 副函式名稱($$){
my($變數名稱 1, $變數名稱 2) = @_;
執行程式碼;
return 回傳值;
}
$的數量代表輸入到副函式的數量
參數值透過@_來傳送

呼叫:
$變數名稱=副函式名稱($變數名稱 1, $變數名稱 2);
此時會將副函式的回傳值指定給該變數

第7頁
Perl 程式設計語法整理 撰寫人:陳志華

輸出入篇

1、輸出
print $字串變數;

例:
echo $str;
echo “Test”.“<br>”;

2、輸入
@ARGV
在 Perl 程式啟動時會自動讀取指令行輸入參數,並存於@ARGV

例:
假設執行指令行為:Perl test.pl A B C
$num = 1;
foreach (@ARGV){
Print “ARGV 陣列中的第$num 個參數是: ”, $_, “\n”;
$num++;
}
則輸出結果為:
ARGV 陣列中的第 1 個參數是: A
ARGV 陣列中的第 2 個參數是: B
ARGV 陣列中的第 3 個參數是: C

第8頁
Perl 程式設計語法整理 撰寫人:陳志華

資料庫篇(MySQL)

1、連結資料庫
Use DBI;
$host = “127.0.0.1”;
$db_name = “資料庫名稱”;
$user = “資料庫帳號”;
$pwd = “資料庫密碼”;
$資料庫物件變數 = DBI->connect(“DBI:mysql:$db_name:$host”, $user, $pwd) ||
die $DBI::errstr;

2、關閉連結資料庫
$資料庫物件變數->disconnect || die $DBI::errstr;

3、開啟資料錄
@陣列變數 = $資料庫物件變數->Selectrow_array(“SQL SELECT 語法”) || die
$DBI::errstr;

4、其他 SQL 語法操作


$資料庫物件變數->do(“SQL SELECT 語法”) || die $DBI::errstr;

第9頁

You might also like