Perl - 成功大學myweb個人網頁空間服務說明
Download
Report
Transcript Perl - 成功大學myweb個人網頁空間服務說明
生物資訊程式語言應用
Part 3
Perl Language
Outline
Introduction.
Installation.
Background knowledge in Perl.
Data type.
Control structure.
Regular expression.
Overall practice.
Introduction
Perl is free software.
Larry Wall (He is a linguist).
The history of Perl language.
1987- Perl 1.0.
1994 - Perl 5 (contain OOP).
OOP (object oriented programming) 物件導向程式語言
Perl 5.8.0 – support unicode.
2003 – Perl 6.
Now.
Characteristic.
The script language base on C language (具跨平台的特性).
Installation
Perl is the default language in any distribution of Linux.
Perl can be executed and worked by the ActivePerl
package in windows platform.
http://www.activestate.com/activeperl/
How to edit Perl program?
Notepad in windows, UltraEdit and any text editor.
Installation
cont.
Practice.
Download ActivePerl software file.
Install ActivePerl.
Background knowledge
Data type in Perl.
Control structure in Perl.
Regular expression in Perl.
Data type in Perl
Like English
Scalar (純量變數) – 比喻單件事物.
數字常數 $x = 5;
字串常數 $y = “Hello” ;
The special expression of Perl.
Print “Hello” . ”World” ; (Hello World).
Print “Hello” * 2 ; (HelloHello).
字串與數字間的轉換
$x = 123; $y = “456”;
Print $x + $y ; (數字)
Print $x . $y ; (字串)
Data type in Perl
Practice.
Using scalar.
Special expression.
字串與數字間的轉換.
cont.
Data type in Perl
cont.
Array (陣列).
The definition of Array in Perl.
@student=("9154610","9154611",”9154612”);
my @student;
$student[0] ="9154610“; $student[1] =“9154611“; $student[2] =“9154611”;
Array 單數的取用.
print $student[0],"\n";
print "$student[1]\n";
print $student[2]."\n";
Array 複數的取用.
print @student,“\n”; (全部一起print出來)
以單數取用方式print出複數資料 (in control structure chapter).
Data type in Perl
Practice.
Using array (definition).
單數取用.
複數取用.
cont.
Data type in Perl
cont.
Hash (雜湊).
$純量 = 單一 = 單數
@陣列 = 串列 = 複數
%雜湊 = 串列 = 複數
定義陣列 = 類似ip
@student=("9154610","9154611",”9154612”);
定義雜湊 = 類似dns
%students = ("Peter"=>"9154610" , "Mary"=>"9154611" ,
"Cathy"=>"9154612");
Data type in Perl
cont.
Hash (雜湊).
定義雜湊 = 類似dns
Hash 單數的取用.
%students = ("Peter"=>"9154610" , "Mary"=>"9154611" ,
"Cathy"=>"9154612");
print $students{"Peter"},"\n";
print $students{"Mary"},"\n";
print $students{"Cathy"},"\n";
Hash 複數的取用.
print %students,"\n";
以單數取用方式print出複數資料 (in control structure chapter).
Data type in Perl
Practice.
Using hash (definition).
單數取用.
複數取用.
cont.
Control structure in Perl
If statement (陳述式).
For loop (迴圏).
Foreach loop (迴圏).
While loop (迴圏).
Control structure in Perl
cont.
If statement (陳述式).
If 條件判斷
If 條件成立則執行
若If 條件不成立則執行
(else statement可有可無)
Control structure in Perl
Practice.
If statement.
If - else statement.
cont.
Control structure in Perl
cont.
For loop (迴圏).
$#array : 取得array的大小
$i++ : 等同於 $i = $i + 1;
$sum += $i : 等同於 $sum = $sum + $i;
Control structure in Perl
cont.
Practice.
For loop 迴圏.
以array單數取用方式print出array複數資料.
以hash單數取用方式print出hash複數資料.
Control structure in Perl
cont.
Foreach loop (迴圏).
Like for loop.
For loop
Foreach loop
Control structure in Perl
cont.
Practice.
Foreach loop (迴圏).
以array單數取用方式print出array複數資料.
以hash單數取用方式print出hash複數資料.
Control structure in Perl
cont.
While loop (迴圏).
While 判斷式
Control structure in Perl
Practice.
While loop (迴圏).
1+2+…+100.
cont.
Regular expression in Perl
樣式 (pattern) 的表達.
繫結符號 =~.
=~可用來將右邊的樣式比對左邊的字串純量,成功
傳回1,失敗傳回0.
表否定則可改用!~
通常搭配判斷式使用.
Regular expression in Perl
比對.
$` : 代表字串中比對成功之前的部分.
$& : 代表字串中比對成功的部分.
$‘ : 代表字串中比對成功之後的部分.
cont.
Regular expression in Perl
字元取代.
cont.
$var =~ tr/xxx/yyy/
把變數 $var 內的 xxx 字元都逐一代換成 yyy 字元
字串取代.
$var =~ s/xxx/yyy/
把變數 $var 內的第一個 xxx 子字串整個代換成 yyy 子字串
$var =~ s/xxx/yyy/ig
I : 忽略大小寫
g : 取代 $var 字串內所有符合的子字串
Regular expression in Perl
Practice.
比對.
字元取代.
字串取代.
cont.