最近開始實習開始學習小駱駝書qwq
首先注意一個歷史遺留問題:
另一種語言Perl 6,在開始設計的時候是希望將它作爲Perl 5的新版,但人們漸漸發現它有很多特性都發生了變化,基本成爲了一種新的語言,所以不再改名字,直接用Perl 6代替這種新的語言。如果我們說的是Perl,那麼它默認的是Perl 5。
Perl語言:實用摘錄與報表語言(Practical Extraction and Report Language)
或者病態折中式垃圾列表器 。其實作者Larry Wall是先想出Perl這個詞,然後強行進行解釋的=-=|||
Per的四大特點:
1.Perl易於使用
2.Perl幾乎不受限制(比如有人編寫中斷-微內核層次的設備驅動程序)
3.Perl的運行速度還是挺快的
4.Perl代碼看起來比較醜
CPAN是Perl 綜合典藏網(Comprehensive Perl Archive Network),裏面有各種模塊,各種文檔。
第一個helloworld程序helloworld.pl:
#!/usr/bin/perl
print "Hello World\n!";
perl腳本文件是.pl後綴,命令行模式下,執行pl文件可以perl helloworld.pl或者./helloworld.pl(這種方式需要chmod改變權限)
這個簡單的程序在Perl 5.10及其後續版本中可以有另一種不同的寫法
#!/usr/bin/perl
use v5.18; #一定不要忘記分號,注意這裏的v可以省略,小數點後變成三位:use 5.018;
say "Hello World";
運行程序時,Perl內部的編譯器會先載入整個源程序,將之轉換爲內部使用的bytecodes,這是一種在Perl內部用來表示程序語法樹的數據結構,然後交給Perl的bytecode引擎執行。
第一個應用實例講解:
#!/usr/bin/perl
@lines=`perldoc -u -f atan2`; #反引號調用了外部命令
foreach(@lines){ #啓動一個循環,依次對每行數據進行處理。
s/\w<([^>]+)>/\U$1/g;
print;
}
上面的外部命令perldoc用來閱讀Perl及其相關擴展和工具程序的說明文檔。當反引號裏的命令執行完畢後,輸出結果會一行行的依次存儲在@lines這個數組變量中。
循環內部的意思:對每一個包含<>的行進行相應的數據替換操作。而在perldoc命令的輸出結果裏,應該至少有一行符合此操作條件。
運行對比圖:
很多時候,我們都是用Perl來做這種數據轉換工作。