10步學習Perl 第一課
【翻譯】 送給不願意讀英文的人(若有翻譯不到位還請多多見諒)
參考原文:http://www.linuxforums.org/articles/learn-perl-in-10-easy-lessons-lesson-1_120.html
10步學習Perl 第一課
感謝Perl指令碼語言,使我們能夠將Linux系統上各種工作自動化。學習Perl既簡單又有趣,並且很快你將能夠寫出讓我們生活變得更加方便的指令碼。這裡將從基礎講起,然後循序漸進的介紹複雜的概念以及高階技術。
我將盡可能多的進行解釋,所以,不管你有沒有程式設計經驗,學習起來應該都比較容易。在這一系列課程完成的時候,你會感覺比較順手。
Perl的歷史
Larry Wall在1987年創造了一個叫做“Practical Extraction and Report Language”的指令碼語言。她被設計為一個UNIX平臺的文字處理語言。當時存在許多工具和語言(Unix shells,sed,awk,C...等等),程式設計師通常混合使用它們已達到自己的目標。Larry Wall想讓Perl成為一種包含文字處理相關所有方面和功能的通用語言,不需要混合使用其他的工具就能很好的完成想要的功能。並且他還想將Perl設計成一個使用起來簡單並且很容易上手的語言。適度忽略了計算機底層的東西,使開發者能夠將思考的中心放在所需要的程式邏輯上。
Perl是前所未有的,她填補了一項空白,因此迅速流行起來。1994年,隨著Perl 5的釋出,她真正成為了一個穩固的通用程式語言。
Perl的亮點
Perl真的是獨一無二的。隨著我們的學習,你可能就會看到她的不同特性了。Larry Wall在打造Perl時運用了其大量的語言功底,有人甚至認為Perl簡直就是自然語言。她有豐富的詞彙和寬鬆的語法,Perl開發者通常會說“有不止一種方法可以實現它”。你可以有自己的指令碼編寫風格,有些人甚至可以用Perl來寫詩:)。正因為如此,有些Perl指令碼可讀性變得不高。雖然如此,寫起Perl指令碼來還是非常享受的。
Perl直譯器
Perl是一種解釋性語言,這就是說是用Perl編寫的指令碼需要呼叫Perl直譯器才能夠執行。例如,你寫了一個叫做myScript.pl的指令碼(.pl通常被用作Perl指令碼副檔名),它是不能被直接執行的。需要呼叫一個編譯器去執行它:
Perl myScript.pl
這個例子中,myScript.pl 是你的Perl指令碼,perl是Perl直譯器。
Perl直譯器的安裝
Perl 直譯器是一個必備的工具,在大多數GNU/Linux平臺上都會預設安裝。例如,下面列出的這些就包含perl的最近更新的版本。
· Suse 10.1
· Fedora Core 5
· Debian Testing
· Ubuntu 5.10
· Mandriva 2006
· Slackware 10.2
· Mepis 3.4-3
· Gentoo 2006.0
· Knoppix 5.0
如果想獲得更詳盡的關於那些分發版本包含有perl的話,可以從以下網站中搜尋distrowatch.com :
http://distrowatch.com/search.php?pkg=perl&pkgver=5.8.8#pkgsearch
當安裝好直譯器後,你可以在終端輸入Perl -v 來驗證是否裝成功或檢視版本。如果安裝成功了,應用上面的命令就會顯示所安裝perl的版本資訊(window同樣可以可以在command視窗中驗證,當然是你事先安裝了perl直譯器 --Arron)。如果你發現perl沒有預設的安裝在你的系統中,你可以通過包管理器(package Manger)進行安裝。 就是簡單的在系統的庫中(distribution's repository)找到並安裝。畢竟Perl是個必備工具,它應該預設的包含在你的系統的庫中並被更新。可以參考如下網站 :http://www.cpan.org/ports/#linux
如果在window環境下,通常不會預設安裝perl直譯器,需要我們自己安裝,但在windows環境下安裝應該就沒有什麼難度可言了吧。 Arron :)
隱式呼叫Perl直譯器
Perl直譯器通常被用來執行寫在檔案中的Perl指令碼。Perl也支援互動模式,在這種模式下你可以隨意輸入perl命令而不需要任何引數。當然,在本節中我們將重點放在寫在檔案中的指令碼上。
執行一個perl指令碼,你可以呼叫perl編譯器,將指令碼檔案作為一個引數:
Perl myScript.pl
...... 或者你可以告訴Perl指令碼編譯器在哪裡,並且將指令碼設定為可執行。這是程式設計者的習慣做法,並且鼓勵你這麼去做。指令碼檔案中第一行告知shell如何去解釋這個檔案。這一行基本上就是給出Perl直譯器在路徑:
#!/usr/bin/perl
Note: 通常Perl直譯器安裝在/usr/bin目錄下,但也許你的系統會有所不同。可以通過 which perl 命令去檢視。
為確保你的Perl指令碼處於可執行狀態和正確的許可權下,可以執行如下命令: chmod a+rx myScript.pl
一旦指令碼處於可執行狀態,它就能被直接執行。Shell檢視指令碼的第一行(以#!開頭),接下來就會根據提供的路徑找到直譯器執行指令碼中剩下的行。其實,我們感謝於此,使我們能直接執行我們的指令碼。
./myScript.pl
雖然在此看來你沒有顯式的呼叫解釋去,不要忘了其實是shell替你做了這一步,歸根到底還是直譯器在執行你的指令碼。
你的第一個Perl 指令碼
現在你已經為你的perl指令碼做好了準備:
一個簡單的在螢幕上顯式“Hello Worl!”的指令碼。(可能這個用處不大,但這或多或少的也成了學習一個新語言的慣例了,所以就讓我們開始編寫“Hello World”吧。 :))
建立一個名為 hellowWorld.pl的檔案,並鍵入如下命令並儲存。
#!/usr/bin/perl
Print "Hello World! \n";
整改檔案為可執行狀態
Chmod a+rx helloWorld.pl
執行指令碼
./helloWorld.pl
如你所望,“Hello World!”列印到螢幕上。這個指令碼只包含兩行,非常容易理解。第一行很簡單,它告訴shell在哪裡能找到Perl直譯器。第二行是指令碼中僅有的Perl指令碼語句,它告訴直譯器列印“Hello World!”到螢幕上。在Perl指令碼中,每個語句結束時用“分號”分隔。如果你剛剛開始程式設計,也許你還忘記,所以注意這一點。用分號做為分隔符的原因是,一個語句可能很長,會佔用幾行,這樣用分號來分隔就變成一個有效途徑了。其實在很多程式中,都用“分號”做為語句的分隔符,用起來會很自然。你也許也很想知道那個“n”是做什麼用的。它是一個特殊轉義符號,與回車想對應。當應用它時,在輸出“Hello World!”後,游標會跳到下一行。
在下一講中,我們將開始應用變數,操作檔案等,這些在以後都會派上用場。現在,你知道什麼是Perl了,也知道怎麼樣用了,我們將開始將重點移到語言本身上來。
當然,同時我將很樂意回答你們提出的問題 :)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20936835/viewspace-697212/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript 學習初篇(第一課)JavaScript
- 學習perl(6)
- 學習perl(5)
- 學習Perl(4)
- 學習perl(3)
- 學習perl(2)
- 你的容器化學習第一課
- perl6學習
- B站excel學習第一課入門Excel
- Perl語言學習(四)Perl控制結構
- perl DBI 學習總結
- perl學習筆記1筆記
- perl學習筆記(7)筆記
- 10.15 見習後的第一節課
- perl學習筆記---標量筆記
- 建立 PHP 擴充套件包步驟 -- 課程學習分享PHP套件
- 零基礎學習Python__小甲魚第一課筆記與課後練習Python筆記
- 菜鳥學習SHELL第一課---地址本的指令碼(轉)指令碼
- 10 大線上免費深度學習課程深度學習
- PERL學習筆記---正規表示式筆記
- 學習Java的第一步,配置電腦環境Java
- SAP標準培訓課程C4C10學習筆記(一)第一單元筆記
- 深度學習學習7步驟深度學習
- java第一次正式課程課後習題Java
- Perl學習筆記(五)——關聯陣列筆記陣列
- perl學習筆記--搭建開發環境筆記開發環境
- 第一課 以太坊開發從入門到精通學習導航
- perl DBI DBD和java 的JDBC對比學習JavaJDBC
- golang學習第二課Golang
- Open SAP 上 SAP Fiori Elements 公開課第一單元學習筆記筆記
- web前端--10個妨礙進步的學習方式Web前端
- 想要學習web前端需要學習那些課程Web前端
- SSH框架學習步驟框架
- 學習SAP的步驟
- 學習java的步驟Java
- python第一節課內容及練習Python
- PERL學習筆記---正規表示式的應用筆記
- 資料庫學習 哈工大課程 第一講 基本概念及關係資料庫