1. 關於Perl
當你翻開這本書的時候,你也就進入了一個奇幻的世界。Perl確實是一種非常吸引人的程式語言,而之所以這麼引人入勝的原因不單單在於他的功能,也在於他寫作的方式,或說成為一種程式寫作的藝術。即使你只是每天埋首於程式寫作的程式設計師,也不再讓生活過份單調,至少你可以嘗試在程式碼中多一些變化。而且許多Perl的程式設計師已經這麼作了,這也是Perl的理念-「There is more than one way to do it」。
常常遇到有人問我:「Perl到底可以拿來作甚麼呢?」,不過後來我慢慢的發現,這個問題的答案卻是非常的多樣化。因為在不同的領域幾乎都有人在使用Perl,所以他們會給你的答案就會有很大的差異了。有人會覺得Perl拿來用在生物資訊上真是非常方便,有人也來進行語料的處理,資料庫,網頁程式設計更是有著廣泛的運用。當然,還有許多人把Perl拿來當成系統管理的利器,更是處理系統日誌的好幫手。
1.1 Perl的歷史
由Larry Wall創造出來的Perl在1987年時最早出現在usenet的新聞群組comp.source。從當時所釋出的1.0版本,到3.0版為止,幾乎維持著一年有一次大版本的更新,也就是說在1989年時,Perl已經有了3.0 版。而1991年,Perl開發團隊發展出相當關鍵的4.0版。因為隨著4.0版的釋出,Perl發表了新的版權聲明,也就是Perl Artistic Licence(藝術家授權)。Perl4跟Perl5之間相隔了有三年之久,漸漸的,Perl的架構已經日趨穩定。一直到最近,Perl釋出了新的Perl 5.8版,並且同時進行新一代版本的開發。
1.2 Perl的概念
Perl是非常容易使用的程式語言,或者我們應該說他是方便的程式語言,你可以隨手就寫完一支Perl的程式,就像你在命令列中打一個指令一樣 (註一)。因為Perl的誕生幾乎就在於讓使用者能夠以更好方便的方式去撰寫程式碼,卻不必像寫C一樣的考慮很多細節。
另外,Perl的黏性非常的強 (註二),你可以用Perl把不同的東西輕易的連接起來。而且你可以用Perl解決你大部份的問題,雖然有些時候你並不想這麼作,但這並不表示Perl作不到。
1.3 特色
很多人對Perl的印象就是一種寫CGI(註三)的程式語言,或者直覺的認為Perl只是拿來處理文字的工具。不過就像我們所說的,Perl幾乎可以完成大部份你希望達成的工作。但是不可否認的,正規表示式顯然是Perl足以傲人的部份,這也就是Perl大量被拿來使用作為文字處理的原因之一。
而且Perl對於你希望快速的完成某些工作確實可以提供非常大的幫助。甚至在Unix-like的環境下,還可以直接使用Perl為基礎的Shell,讓你用Perl當指令。而不必像許多程式語言,在還沒正式工作之前,你必須先準備一堆事情,包括你的變數定義,你的資料結構等等。也因此,許多Unix-like系統的管理員都喜歡拿Perl來進行系統管理。畢竟沒人希望要處理一個郵件紀錄檔還要先花一堆時間搞清楚該怎麼把紀錄檔內的東西轉成合適的資料結構。
1.4 使用Perl的環境
雖然大多數的Unix-like系統管理員選擇Perl來幫助他們管理他們的伺服器,可是這絕對不表示Perl只能在這些系統上執行。相反的,Perl可以在絕大多數的作業系統上執行。而目前Windows上的Perl則是以Active Perl(http://www.activeperl.com)這家公司所提供的直譯器為主。Perl的使用在不同的作業系統下會略有不同,本書則以unix-like為執行環境。
1.5 開始使用 Perl
在開始使用Perl之前,必須先確定你的機器上是否已經安裝Perl。在許多unix-like的作業系統中,都預設會安裝Perl,你也可以先執行下面的指令來確定目前系統內的Perl版本。
[hcchien@Apple]% perl -v
This is perl, v5.8.2 built for darwin-2level
Copyright 1987-2003, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
我們看到在版本的部份,這裡使用的是Perl 5.8.2的版本,然後有著作者Larry Wall的名字,也就是版權擁有著。接下來是Perl的版權說明。另外,你應該要注意 `perldoc perl' 這個部份:直接在你的終端機下打這行指令,就可以看到Perl內附的文件,而且內容非常詳細。
在這裡,我們建議使用Perl 5.8以上的版本,如果你的版本過於老舊,或是系統中還沒有安裝Perl,可以從http://www.perl.com/下載,並且安裝Perl。
如果你的系統已經有Perl,並且正常運作,那麼你可以開始使用你的Perl。你可以試著使用所有程式語言都會使用的範例來作為使用Perl的開端:
[hcchien@Apple]% perl -e 'print "hello world! "'
hello world!
不過在Windows上,因為命令列不能使用單引號,所以得這樣寫:
[hcchien@Apple]% perl -e "print "Hello world ""
hello world!
1.6 你的第一支Perl程式
事實上,你剛剛已經有了你的第一支Perl程式。當然,你可以不承認那是一支Perl程式。不過讓我們真正來寫一支程式吧。如果你習慣於使用許多整合性程式開發工具,你大概會希望知道要安裝甚麼樣的工具來寫Perl。不過你可能要失望了,因為我們全部所需要的就只是一個文字編輯器。你在unix上,可以選擇vi(vim),joe或任何你習慣的編輯器,在Windows上可以使用記事本,或下載UltraEdit(http://www.ultraedit.com/)。不過請不要使用類似Word的這樣的文書處理工具,因為這樣子你只是讓事情更複雜了。當然,即使你在Windows上,你還是可以選擇Vim或是Emacs這些在Unix世界獲得高度評價的文字編輯器,而且他們還是自由軟體。
現在,我們可以打下第一支程式了:
#!/usr/bin/perl
print "hello world ";
相信大家很快就打完了這支程式。先別管裡面到底說了甚麼(雖然妳們應該都看懂了),我們先來執行他吧!
[hcchien@Apple]% perl ch1.pl
hello world
好極了,結果就像我們直接用命令列執行的樣子。不過至少我們知道了,只要用Perl去執行我們寫出來的程式就可以了,當然,你還可以有更簡單的辦法。你可以讓你的檔案變成可以執行,在Unix下,你只需要利用chmod來達成這樣的目的。當然,我們假設你已經可以操作你的系統,至少能夠了解檔案權限。修改完權限之後,你只需要在檔案的所在目錄打:
[hcchien@Apple]% ./ch1.pl
hello world
那麼第一行又是甚麼意思呢?其實這是Unix系統中,表明這支程式該以甚麼方式執行的表達方式。在這裡,我們希望使用"/usr/bin/perl"這個程式來執行。所以請依照你系統內的實際狀況適時改寫。否則當你在執行的時候,很可能會看到"Command not found"之類的錯誤訊息。
不過在真正開始寫Perl之前,我們還要提醒幾件事情,這些事情對於你要開始寫Perl的程式是非常的重要的。
1. Perl的敘述句是用分號(;)隔開的,因此只要你的敘述句還沒出現分號,Perl就不會把他當成一個完整的結束,除非你的這個敘述句是在一個區塊的最後一句。我們可以在perldoc裡面找到這樣的範例;
"hello world "
;
而且這樣的寫法對 Perl來說並沒有什麼不同,只是對於需要維護你的程式的人來說顯然並不會特別高興。適時的空白確實可以提高程式的可讀性,不過記得不要濫用,造成自己遭受埋怨。
2. Perl是以井字號(#)作為程式的註解標示,也就是只要以井字號開始,到敘述句結束前的內容都會被當成程式註解,Perl並不會嘗試去執行他,或編譯他。對於有些習慣於C程式寫作的程式員而言,能夠使用(/* .... */)來進行程式的註解確實是相當方便的。Perl並沒有正式的定義方式來進行這樣整個區塊的註解,不過卻可以利用其他方式來達到同樣的目的。例如使用pod(plain-old documentation format,簡明文件格式):
#!/usr/bin/perl
print "hello world ";
=head1
這裡其實是註解,所以也是很方便的
主要是可以一次放很多行註解
=cut
如果你還想找出其他可能的替代方案,可以直接看perlfaq這份文件,而方法就是直接執行perldoc perlfaq(註四)就可以了。
接下來,我們便要真正進入Perl的環境中了。
習題:
1. 試著找出你電腦上的Perl版本為何。
2. 利用perldoc perl找出所有的perl文件內容
3. 利用Perl寫出第一個程式,印出你的名字
註一:事實上,Perl有所謂的單行模式,你就只需要在命令列中執行Perl的敘述句。
註二:因此也有人戲稱Perl是「膠水程式語言」。
註三:就是所謂的「Common Gateway Interface」,動態網站程式的設計界面。
註四:perldoc裡有著許多非常有用的文件,你可以考慮試著看看perldoc perldoc。
评分
评分
评分
评分
读一本技术书籍,有时候不仅仅是在学习一门语言,更是在学习一种思维方式。我希望这本书能够帮助我建立起一种逻辑严谨、条理清晰的编程思维。从我对内容的一些片段性的接触来看,这本书似乎在解释概念时,会深入浅出,并且会提供多种角度的阐述,这对于理解深层原理非常有帮助。我不太喜欢那种只告诉“怎么做”的书,我更希望了解“为什么这么做”,以及“这样做有什么好处”。如果这本书能够在我学习的过程中,不断地引导我去思考,去探究,去理解其中的逻辑,那么它就是一本真正有价值的书。我期待在阅读的过程中,我的思维能够得到锻炼和提升,能够形成一种解决问题的能力,而不仅仅是掌握一门技术。我希望通过这本书,我能够更好地理解代码背后的设计思想,以及如何写出更优雅、更高效的代码。这种对思维模式的培养,是我对这本书最大的期待。
评分作为一个长期与各种编程语言打交道的人,我深知一本好书的标准。虽然我还没有深入研究这本书的细节,但从其整体的呈现方式以及我初步浏览到的部分来看,它似乎拥有一种独特的魅力。我喜欢那种能够激发我好奇心的书籍,让我愿意去主动探索,去发现新的知识点。我期待这本书能够提供一些我之前未曾接触过的视角,或者能够将一些我已知的概念进行更深刻、更系统的阐述。我欣赏那些具有前瞻性、能够引导我了解技术发展趋势的书籍,而不是停留在过时的知识点上。如果这本书能够在我学习的过程中,不断地给我带来惊喜,让我发现“原来还可以这样”,那么它就绝对是一本值得我投入时间和精力的好书。我更希望这本书能够成为我学习道路上的一个重要节点,为我打开新的大门,让我能够站在更高的起点上去审视和学习其他的知识。
评分我本身是一个非常注重实际操作和案例分析的学习者,理论知识固然重要,但如果没有实际的例子支撑,很容易让我感到迷失。从这本书的封面和一些宣传语上,我感受到它似乎非常强调“实战”。虽然我还没有真正动手去跟着书中的例子敲代码,但从我对整体结构的初步观察来看,这本书似乎将理论知识与实际应用巧妙地结合在了一起。我猜测书中会包含大量的代码示例,并且这些示例会是能够解决实际问题的,而不是为了演示而演示。这一点对我来说至关重要,因为我希望通过学习能够快速上手,并且能够应用到我自己的项目中去。我喜欢那些能够让我“做中学”的书籍,在动手实践中加深理解,发现问题,然后去解决问题。如果这本书真的能够做到这一点,那么它对我来说就具有非凡的意义。我甚至已经开始想象,当我遇到某个实际问题时,能够翻开这本书,找到对应的案例,然后通过实践来解决问题的场景,这种成就感是无与伦比的。
评分我是在朋友的推荐下得知这本书的,他之前也表示过这本书在某种程度上改变了他对编程学习的看法。虽然我暂时还未深入接触具体章节,但仅仅是浏览了一下目录和一些扉页的介绍,我就被它那种严谨又不失趣味的学习引导方式所吸引。目录的设置非常有条理,从基础概念到进阶应用,层层递进,似乎为我规划好了一条清晰的学习路径。我特别欣赏其中一些章节的命名,没有枯燥的技术术语堆砌,而是用更生动、更具启发性的方式来呈现,这让我觉得学习过程不会是单调乏味的。而且,我注意到书中似乎强调了一种“理解式”学习,而非死记硬背,这一点对于我这种更倾向于融会贯通的学习者来说,是极大的福音。我期待这本书能够帮助我建立起扎实的知识体系,并且能够真正理解其背后的原理,而不是仅仅停留在“会用”的层面。这种对学习方法论的关注,让我觉得这本书不仅仅是一本技术手册,更是一本关于如何更有效地学习编程的指南,这种内在的价值让我倍感期待。
评分这本书的装帧设计真的很吸引我,封面那种复古又带点科技感的风格,让我在书架上第一眼就看到了它。翻开内页,纸张的质感也很不错,阅读起来非常舒适,不会有廉价感。我特别喜欢书中一些插图的设计,虽然我还没有开始深入阅读内容,但这些插图已经让我对这本书的整体氛围有了很深的体会,感觉它不仅仅是一本技术书籍,更像是一次关于学习和探索的视觉之旅。字体的大小和行间距也设置得恰到好处,长时间阅读也不会觉得眼睛疲劳。排版上,标题、段落、代码块的区分都很清晰,这一点对于学习来说非常重要,能够帮助我快速定位信息,提高学习效率。我一直对知识的载体很在意,一本优秀的图书,在视觉和触觉上都能给人带来愉悦感,这本身就是一种激励。从这些细节上,我能感受到作者和出版方在制作这本书时的用心,这让我对即将展开的学习之旅充满了期待,迫不及待地想一探究竟,看看这本书的内在是否也如其外表般令人惊喜。
评分通俗易懂,入门不错。 http://Perl.hcchien.org/TOC.html ; http://www.cbi.pku.edu.cn/chinese/documents/perl/index.htm
评分对于完全没有编程基础的初学者来说,这本书比小骆驼实用多了!
评分perl非常好的入门书,深入浅出。
评分perl非常好的入门书,深入浅出。
评分通俗易懂,入门不错。 http://Perl.hcchien.org/TOC.html ; http://www.cbi.pku.edu.cn/chinese/documents/perl/index.htm
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有