標籤:
本文將闡述以下幾方面內容:
1、什麼是Perl
2、Perl有什麼用
3、Windows 下的Perl環境搭建
4、Perl 版Hello World
5、Perl 文法梗概
6、一些參考資料
什麼是Perl
Perl 是一門由 Larry Wall(拉裡·沃爾)設計並實現的一門指令碼語言,Larry Wall設計這門語言的最初的目的為了讓UNIX 上得報表處理工作變得更方便。Perl 第一版的發行時間為 1987年(Python第一版的發行時間為 1991年、Ruby第一版的發行時間為 1995年,這三種程式設計語言經常被放在一起做比較)。
Perl的來自單詞Pearl(珍珠的意思),或許在設計者 Larry Wall 眼裡,Perl如珍珠般珍貴
Perl的吉祥物為駱駝據說是因為Oreilly出版的暢銷書Programming Perl的封面是一匹駱駝,Perl社區就採用了駱駝作為Perl語言的吉祥物。
Perl 有什麼用
引用維基百科的說法,Perl的用途很廣,除了CGI以外,Perl還被用於圖形編程、系統編程、網路編程、金融、生物等領域。由於其靈活性,Perl被稱為指令碼語言中的瑞士軍刀。在CPAN上有大量優秀Perl的庫。在Linux和Mac OS 上都是內建Perl的。總結為一句話——Perl很有用,當需要指令碼語言的時候,不妨考慮下Perl。這些我們瞭解即可。
本篇文章為初嘗Perl,定位為瞭解Perl的梗概,博主目前現實工作中也沒用到Perl,僅僅當一個知識儲備,以後用到Perl的時候再深入學習一番。
Windows 下的Perl環境搭建
1、訪問 http://www.perl.org/ 下載Perl Windows的實現版本,這裡有兩個版本(Strawberry Perl 和 ActiveState Perl)這兩個版本沒什麼大的區別,博主選擇了後者ActiveState Perl 5.20
2、安裝 ActiveState Perl 5.20 ,一路預設安裝即可
3、驗證 Perl 是否安裝成功,在命令提示字元下輸入 perl –v
如出現所示資訊表示 Perl 已安裝成功
Perl 版Hello World
1、開啟一個文字編輯器(如Notepad++),輸入如下內容
# perl-wprint "Hello World";
在名利提示符下運行結果為(代碼儲存在 1.pl 中)
上面的 # 是注釋符號, perl –w 是要求 perl 顯式 Warmming 資訊的選項
Perl 文法梗概
1、 變數定義,在 Perl下有好幾種定義變數的方法,我撿最常用兩種說明:
單數變數:以$ 打頭,僅表示一個變數對象
複數變數:以@打頭,表示一個數組
例1:單數變數
# perl-w$pi = 3.141592;print $pi;
例2:複數變數
# perl-w@digital = (a..z);print @digital; #列印a到z的所有小寫字母
2、每個語句以分號“;”結束
3、簡單的數學運算
# perl-w$a = 2;$b = 3;print $a + $b; # 加法print "\n";print $a - $b; # 減法print "\n";print $a % $b; # 模運算print "\n";print $a ** $b; # 冪運算
4、比較操作符 及 if 分支結構
比較 |
數字 |
字串 |
含義 |
等於 |
== |
eq |
判斷相等與否 |
不等 |
!= |
ne |
判斷不等與否 |
小於 |
< |
lt |
判斷小於與否 |
大於 |
> |
gt |
判斷大於與否 |
小於或等於 |
<= |
le |
判斷不大於與否 |
大於或等於 |
>= |
ge |
判斷不小於與否 |
比較 |
<=> |
cmp |
相等為0,前者大為1,否則為-1 |
也許讀者看到這個會奇怪,為什麼有兩套比較操作符,其實我也很奇怪,但是Perl設計人就是這樣設計的,咱不計較。這兩組比較符要求待比較參數先轉換為合適的參數類型後比較。光說不練假把式看代碼:
# perl-w$a = "a";$b = "b";if($a == $b){ print "兩變數相等"; } else { print "兩變數不相等";}# 會列印兩變數相等 因為$a 和 $b 都是字串轉換為數字都會失敗,返回相同的預設值,所以相等
# perl-w$a = "a";$b = "b";if($a eq $b){ print "兩變數相等"; } else { print "兩變數不相等";}
if分支包括 if 、if –else 、if –若干個elsif-else 3種
5、迴圈
Perl 有4種迴圈 while 、do-while、for、foeach
# perl-w# 列印1-100 被3整除的數$var = 1;while($var <= 100){ if($var % 3 == 0){ print $var; print " "; } $var += 1;}
do-while 略
# perl-w# 列印1-100 被3整除的數for($var = 1;$var <=100;$var++){ if($var % 3 == 0) { print $var; print " "; }}
foreach 的格式為:
foreach $i (@some_list){
statement_1;
…
statement_n;
}
# perl-w# 列印1-100 被3整除的數# (1..100)返回的是一個數組foreach $var ((1..100)){ if($var % 3 == 0){ print $var; print " "; }}
在 for 和 foreach 中有兩個迴圈控制關鍵字——last 和 next。 last 相當於break,next 為 continue,有C基礎的人都能看懂什麼意思。
6、函數
函數的定義為用關鍵 sub 聲明
sub methodName{
statement_1;
…
statement_n;
}
參數列表存在 @_ 中
如函數帶傳回值,結尾用 return 語句介面
看代碼
# perl-wsub add{ foreach $para (@_) { print $para; print " "; } print "\n"; return $_[0] + $_[1]; # 帶傳回值}print add(3,4);
一些參考資料
1、小駱駝書
2、大駱駝書
3、Perl 官網 http://www.perl.org/
本文完
初嘗 Perl