Perl 入門指南 - 認識 Perl 語言

使用 Perl 語言寫程式,最簡單的方式就是開啟文字編輯器 (text editor) ,然後將原始程式碼逐字元一個一個打進文字編輯器中,然後依純文字檔案的編碼儲存檔案, Perl 程式的原始碼檔案採用 .pl 的副檔名。




也可以利用具有語法高亮度顯示的文字編輯器,或是整合開發環境 (Integrated Development Environment, IDE) ,如下圖為 Mac 系統的 Xcode



或是使用本站的語法高亮度顯示,此範例程式 demo.pl 如下
#!/usr/bin/perl

$o = "Hello world!";

# 於命令列印出訊息
print "\n";
print "$o\n";
print ".. is a string\n";
print "\n";
print "Program terminates ....\n";
print "\n";

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:demo.pl
# 功能:示範 Perl 程式
# 作者:張凱慶
# 時間:西元 2013 年 1 月 


先看到有特殊顏色標記的 print
print


print 為 Perl 的內建函數 (function) 之一,用來將參數 (parameter) 字串 (string) 顯示在命令列上,這裡 print 的用法類似其他程式語言的關鍵字 (keyword) ,所謂的關鍵字是語法功能的保留字 (reserved word) ,具有既定特殊的用法。


通常呼叫函數後連帶要有小括弧,小括弧裡面放參數,至於 Perl 的寫法是自然的表現語意,因此帶小括弧或不帶小括弧在呼叫 Perl 的內建函數都是可以的。


至於函數也是具有既定功能的用法,利用這裡的 print 就是將字串印在命令列上。


另外井字號開頭的幾行
# 於命令列印出訊息

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:demo.pl
# 功能:示範 Perl 程式
# 作者:張凱慶
# 時間:西元 2013 年 1 月


井字號開頭則是 Perl 單行註解 (comment) 的方式,所謂的註解就是在程式中輔助說明的文字,凡是註解文字都不屬於會被程式執行的部份,因此可用自然語言替程式說明,無須恪守 Perl 的語法規則。


雙引號圍起來的內容也是另一種顏色
"Hello world!"
"\n"
"$o\n"
".. is a string\n"
"Program terminates ....\n"


這是字串字面常數 (string literal) ,所謂的字串就是文字資料,其為雙引號或單引號圍起來內容,可以是任何輸入字元。


這個範例很簡單,印出一些訊息到命令列。我們逐行來看看 demo.pl 進行的工作,首先,第 1 行是在 UNIX-Like 系統習慣的註解,這個註解是告訴命令列直譯器 Perl 的位置
#!/usr/bin/perl


接下來第三行,這是建立一個變數 (variable) $o$o 的值設定為 "Hello world!"
$o = "Hello world!";


這裡的等號 = 是指派運算子 (assignment operator) ,用來將等號右邊的值 (value) 傳遞給等號左邊的變數。


下面連續呼叫 6 次 print
# 於命令列印出訊息
print "\n";
print "$o\n";
print ".. is a string\n";
print "\n";
print "Program terminates ....\n";
print "\n";


若沒有提供參數給 print ,那就什麼都不會印出,這裡 "\n" 是新行字元,也就是遇到這個字元就會斷行。這裡 print 的參數都是單一用雙引號圍起來的字串,注意這一行
print "$o\n";


我們將變數 $o 直接寫在雙引號字串內,就會印出 $o 的字串內容,由於 $o 為字串,因此這裡會直接印出 $o 的內容。


至於單引號字串裡頭不接受變數與新行字元,例如
print '$o\n';


就會在命令列印出 $o\n 。


因此這個程式會先印出一個空白行、 $o 、字串訊息、空白行,然後另一個字串訊息,最後也是個空白行。


程式很簡單,接下來,我們繼續來看看如何執行 Perl 程式吧!


中英文術語對照
文字編輯器text editor
整合開發環境Integrated Development Environment, IDE
函數function
參數parameter
字串string
關鍵字keyword
保留字reserved word
註解comment
字串字面常數string literal
變數variable
指派運算子assignment operator
value


您可以繼續參考
基礎篇


相關目錄
回 Perl 入門指南
回 Perl 教材
回首頁


參考資料
http://perldoc.perl.org/perlintro.html
http://www.tutorialspoint.com/perl/perl_introduction.htm

2 則留言:

Unknown 提到...

這個範例很簡單,印出一些訊息到命令列。我們逐行來看看 demo.pl 進行的工作,首先,第 1 行是在 UNIX-Like 系懂習慣的註解...
應該是 UNIX-Like 系"統"?



Kaiching Chang 提到...

這邊打錯字了,已修改,感謝指正 :)