標籤:
翻譯尊重原版,以自己的方式最大化地闡述原版內容。
更多內容請訪問www.from0701.com。每周更新兩章。
歡迎來到perl學習的下一階段。你來這兒的理由可能是你想編寫100行以上的代碼或者僅僅是你的老闆要求你這麼做。 我們的《perl語言入門》如此偉大是因為他介紹了如何用perl編寫中小型程式(在我們看來,這是perl最普遍的用途)。但是為了不讓我們的“小駱駝書”太厚重,我們有意並且小心地移除了很多內容。 接下來,我們將用和小駱駝書一樣的風格去繼續我們的故事。這兒包含了編寫100-10000行(也許更多)代碼所需要的知識。 例如,你可以學會怎樣通過編寫可複用的perl模組在一個項目中加入多個程式。這是偉大的,除非你每天工作35個小時,不讓你就需要他人的協助去完成較大的任務。在大型項目中你還得確保各個部分代碼的通用性。 這本書還會告訴你如何處理複雜的資料結構,像是我們可能隨意說出的“多維雜湊”或者“雜湊數組”。一旦你掌握了一點關於引用的知識,你就踏上了處理複雜資料結構之路,這會讓你的生活輕鬆許多。 我們還會簡單介紹一下物件導向的編程,這個能讓你的代碼多次使用。 團隊編程的重要方面是版本控制和單元測試。你將學習最基本的程式打包和單元測試。 正像我們在小駱駝書中承諾的一樣,我們將以有趣的例子來吸引你。儘管我們把Fred,Barney,Betty和Wilma送回家了,新的人物會成為我們的明星角色。
我們應該已經知道什嗎?
我們假設你已經讀了小駱駝書,而且至少是第五版,或者至少假裝你做了,並且你已經做了足夠的練習去掌握這些基本知識。舉例來說,你不會在本書中看到關於如何選取數組元素或者從子函數傳回值的解釋。 確保你已經掌握了一下內容,所有這些小駱駝書裡都有:
- 怎樣在你的系統中運行一個perl程式
- 基本的perl變數類型:標量,數組和雜湊
- 控制結構,像是while,if,for和foreach
- 子程式
- 基本的Regex
- 列表操作符,像是grep,map,sort和print
- 檔案控制像是檔案開啟,檔案讀取,-X(檔案測試)
你可能會在本書中看到關於這些話題更深的討論,但是我們假設你已經知道這些基本知識。 本書最後部分討論發布和貢獻程式到CPAN。你首先需要申請一個PAUSE帳號,網址:http://pause.perl.org/pause/query?ACTION=request_id.
strict and warnings
我們在小駱駝書中介紹了strict和warnings,並且我們希望你們在所有代碼中使用。你在本書中看到的大部分代碼都預設開啟了strict和warnings,所以我們省去了這些重複代碼,就像我們省去#!/usr/bin/perl(perl解譯器位置)一樣。當我們示範一個完整的程式的時候,我們也會把這些包含在內。 你也許想做我們做的事。你可以開啟一個包含通用代碼的模版,而不是從頭編輯。在你開發自己模版,完成標準文檔,找到你做事的最佳方式之前,你可以使用一個簡單的,假定一下程式碼封裝裹著你的程式: #!/usr/local/bin/perl
use strict;
use warnings;
__end__
perl v5.14
本書順應perl5.14及其後續版本的新特徵而更新。通常,語言的底層在每個版本都很穩定。我們使用的一些模組可能更新了,特別是那些隨perl一起發布的模組。因此我們通常展示perl最基本的觀點,僅僅簡單瀏覽模組,你在使用模組前應該查看模組參考手冊。 一些新特性需要我們明確聲明使其也適用於較早的版本。最早的方式是告訴perl我們需要使用哪個版本。數字5.014需要在小數點後有三個數字:
use 5.014;
say "Hello World";
你也可以寫成以下兩種形式:
use v5.14.2;
use 5.14.2;
無論何時,我們要用到一些特定版本的特徵來編寫代碼,我們都會插入use v5.14.2這樣的行來確保該特徵可用。如果可能我們也會展示一個老版本可用的代碼。我們認為發佈於2002年的perl 5.8是每個人應該使用的最早版本。通常,我們會儘力去寫出一個儘可能在較多版本啟動並執行代碼,但是我們也希望像你一樣與時具進。 想要瞭解關於perl5.14的更多內容,請參考小駱駝書第六版。
perl進階中文版 第一章 介紹