- 前言
最好具備有下列條件:
- 已瞭解 HTML 語法並且寫過程式(C, C++, java...)。
- 系統已經安裝 Perl 5.x 的環境,Linux 或 Windows 皆可。
- Perl 歷史
- Perl 是一個非常強大的 script language。它的全名是 Practical Extraction and Report Language。
- 由 Larry Wall 創造出來,在1987年時最早出現在 usenet 的新聞群組 comp.source。
- Perl is Free Software, available under the Artistic License and the GPL
- Perl的沿革:
- 1987/10/18發表Perl 1.0。
- 1994年發表Perl 5 始具有OOP的作法。
- 5.8.0 版開始, Perl 具備了Unicode (萬國碼) 支援。
- 將 Big5 編碼的檔案轉成 Unicode,祗需鍵入下列指令
perl -Mencoding=big5,STDOUT,utf8 -pe1 < file.big5 > file.utf8
Perl 內附一支完全以 Perl 寫成的字碼轉換工具程式(piconv),用法如下:
piconv -f big5 -t utf8 < file.big5 > file.utf8
piconv -f utf8 -t big5 < file.utf8 > file.big5
- Perl 概念
Perl 是非常容易使用的程式語言,可以很快就寫完一支 Perl 的程式。因為 Perl 的誕生就是在讓使用者能夠以更方便的方式去撰寫程式碼,不必像寫 C 的時候要考慮很多細節。
Perl 更是一個強大處理文字的工具。正規表示式更是 Perl 傲人的部份,這也就是 Perl 大量被拿來使用作為文字處理的原因之一。
- Perl是以 C 語言開發而成的描述語言,具跨平台的特性,融合了 C、sed、awk 和 shell 最好的特色。
- 和 C 不同之處
- Perl 沒有 main()主函數的概念。
- Perl 可不需宣告變數,但建議使用 use strict,強制使用變數前要宣告。
- Perl 變數前置符號為$。
- Perl 的命令列參數中,$ARGV[0] 是第一個參數,不是程式名稱,程式名稱存在 $0。
- Perl 的大括弧是不可以省略,但可用倒裝句,例如: last if n > 0 可以不用大括弧。
- Perl 沒有嚴格的資料型態,區分單複數,單數事物稱為純量,複數事物以串列,陣列,雜湊來表示。
- Perl 的純量會自動依照運算元的不同來決定是數值資料或是字串資料。
- Perl 有許多預設變數來幫助程式設計師節省時間,而預設變數名稱非常特別,例如$_, $&, @_, ..,是為了避免與現有的命名相衝突。
- Perl 的運算式會因為解析純量值或串列值而有不同的意義,此預期稱之為語境(context)。
- 安裝 Perl 的環境
目前已知的系統有 Unix、Mac、Amiga、Windows...。可以從各大CPAN網站來免費取得Perl。
- 幾乎所有 unix-like 環境預設都已安裝 Perl 。
- Windows上的Perl則是以Active Perl(http://www.activeperl.com),下載其免費的 ActivePerl Community Edition 版即可。
- 使用 Perl
$ perl -v
This is perl, v5.8.0 built for i386-linux-thread-multi
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2002, Larry Wall。
- 第一支 Perl 程式
PERL File Extension 有明確的規定,請使用 pl 作為副檔名。
#!/usr/bin/perl
# Hello.pl
print "hello world\n"; # print a message
- #!/usr/bin/perl
此行的路徑會隨著實際安裝 Perl 的目錄來改變。用來告訴系統在程式被執行時該如何處理,亦即是告訴系統以 Perl 來執行該程式。這一行對 Win32 版的 Perl 不重要。
- #符號用來註釋,由#開始直到該行之結尾,中間所有的文字將被忽略,但除了程式的第一行之外。
- 每一個敘述結尾都需以分號";"來作為結尾。
- 函數 print用來輸出訊息。
$ perl Hello.pl
hello world!
- 或透過 chmod 指令 +x 讓 Hello.pl 變成可以執行的。
$ Hello.pl
hello world!
$ perl –c Hello.pl
Hello.pl syntax OK
- 告訴系統於執行該程式前先顯示系統的警告與其他有用的訊息。
$ perl –w Hello.pl
$ perl –d Hello.pl
Loading DB routines from perl5db.pl version 1.19
Editor support available.
Enter h or `h h' for help, or `man perldebug' for more help.
main::(hello.pl:3): print "Hello World!\n"
DB<1> q
閱讀全文...