Perl 語言概覽

1. 使用幫助手冊

如果你是在 Linux/Unix 下,那麼 Man 給我們準備好了各色點心,用 man 加上下面中的類別名就能查閱到對應的幫助,如 man perldata 
手冊頁 內容
perl 有些什麼 perl 手冊頁
perldata 數據類型
perlsyn 語法
perlop 操作符和優先級
perlre 正則表達式
perlvar 預定義變量
perlsub 子過程
prelfunc 內建函數
perlmod 如何令 Perl 模塊工作
perlref 參考手冊
perlobj 對象
perlipc 進程間通訊
perlrun 如何運行 Perl 命令,以及命令行開關
perldebug 調試
perldiag 診斷信息
手冊頁 內容
perlfaq1 關於 Perl 的通用信息
perlfaq2 獲取和學習 Perl
perlfaq3 編程工具
perlfaq4 數據操作
perlfaq5 文件和格式
perlfaq6 正則表達式
perlfaq7 通用 Perl 語言信息
perlfaq8 系統交互
perlfaq9 網絡

或分 FAQ 來分類手冊,還能在手冊中搜索內容,如

man perlfunc split      --- 搜索 split 函數的使用

man perlvar ARGV   --- 內置變量 ARGV 的幫助信息

2. 變量的語法

象英語一樣,Perl 變量類型之間區別主要是單數和複數,字符串和數字是單個數據,而一組數字和字符串是複數。我們叫把單數變量稱爲標量,而把複數變量稱爲數組。

通常我們用 $ 開頭的名稱表示標量,與此對應的數組變量使用 @ 開頭。。(可以將 $ 理解成代表 "s" 或 "scalar"(標量),而 @ 表示 "a" 或 "array" (數組)來幫助你記憶。)

Perl 還有象“散列”,“句柄”,“類型團”等其他一些變量類型,與標量和數組一樣,這些變量類型也是前導趣味字符,下面是你將會碰到的所有趣味字符:

類型 字符 例子 用於哪種名字
標量 $ $cents 一個獨立的數值(數字或字串)
數組 @ @large 一列數值,用編號做鍵字
散列 % %interest 一組數值,用字串做鍵字
子過程 & &how 一段可以調用的 Perl 代碼
類型團 * *struck 所有叫 struck 的東西

2.1 單數變量

$answer = 42; # 一個整數
$pi = 3.14159265 # 一個"實"數
$pet = "Camel"; # 字串
$sign = "I ove my $pet"; # 帶代換的字串
$cose = 'It cose $100'; # 不帶代換的字串
$thence = $whence; # 另一個變量的數值
$salsa = $moles * $avocados; # 一個胃化學表達式
$exit = system("vi $file"); # 一條命令的數字狀態
$cwd = `pwd`; # 從一個命令輸出的字串

如果你使用了一個尚未賦值的變量,這個未初始化的變量會在需要的時候自動存在.遵循最小意外的原則,該變量按照常規初始化爲空值,"" 或 0。

不同的操作符會給參數提供一個數字環境,字符串環境或布爾環境.例如:

   $camels = '123';
   print $camels +1, "/n";

輸出爲 124。

"/n" 表示的新行同樣也在字符串環境中,但是由於它本來就是一個字符串,因此就沒有必要做轉換了.
'/n',這就表示這是由反斜扛和 n 兩個字符組成的字符串,而不表示一個新行.

從某種意義上來說,使用單引號和雙引號也是另外一種提供不同環境方法.雙引號環境在 Perl 中稱爲代換環境.

1.2.3 複數變量

Perl 有兩種類型的多值變量:數組和散列,它們提供一個列表環境而不是標量環境.

數組.一個數組是多個標量的有序列表,可以用標量在列表中的位置來訪問要對一個數組賦值,你只需簡單的將這些值排列在一起,並用大括弧括起來.

   @home = ("couch", "chair", "table", "stove");

從數組給標量賦值:(有點類似 PL/SQL 中的遊標賦值給多個變量)


   ($potato, $lift, $tennis, $pipe) = @home;

他們被稱爲列表賦值,他們邏輯上平行發生,因此你可以象下面一樣交換兩個變量:

($alpha, $omega) = ( $omega, $alpha);

數組變量的引用,賦值,如上的數組 @home,引用第一個元素就是 $home[0],注意是從 0 開始,因爲我們處理的這個數組元素是標量,因此在他前面總是前綴 $.

數組是有序的,你可以在它上面做很多有用操作.如作爲堆棧 push 和 pop,Perl 將你數組的結尾當成堆棧的頂端。

散列是一組無序標量,通過和每個標量關聯的字符串進行訪問.散列經常被稱爲關聯數組.

散列使用 % 這個趣味字符來標誌散列名字(如果你仔細觀察 %,你會發現斜扛兩邊的鍵字和數值.這樣理解可能會幫助記憶.)

散列的聲明:

%longday = ("Sun", "Sunday", "Mon", "Monday", "Tue", "Tuesday");

或(無疑第二種方式易讀好理解)

%longday = ("Sun" => "Sunday","Mon" => "Monday","Tue" => "Tuesday");

可以通過 {} 來獲取單個的散列元素.比如,你應該使用 $longday{"Mon"}.注意因爲你在處理標量,因此在 longday 前面使用 $,而不是 %,% 代表整個散列.

我們注意到變量中的 $、@ 或 % 不像其他語言的變量名中相對應的符號(其他語言的變量命名中一般只允許 $),它們不是作爲變量名的一部分,而是承載着變量類型的說明。所以當你看到訪問 @home、%longday 變量中的單個元素用的是 $home[0]、$longday{"Mon"} 不要感到驚訝,而是要去習慣這種用法。

強調一下:數組和列表聲明時都用括號"()",訪問數組和列表的元素時分別用中括號"[]" 和 大括號 "{}"。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章