2012年11月1日

Learning Perl 5


l   雜湊(hash),陣列以數字編索引,雜湊以鍵(key)為索引值
l   串列(list);陣列(array);散列(hash)
l   雜湊是一個無序集合,就是一些鍵/值對(key-value pair)的組合,鍵和值都是任意的「純量」,但是「鍵」永遠會被轉換成字串
l   因此數值運算「50/20」的結果為2.5,轉成字串則為「”2.5”」,因此鍵則為2.5
l   雜湊語法:$hash{$key_name} = $value_name;
l   整份雜湊宣告用「%hash_name」,亦可將其指派給陣列,此時為串列語境,順序會被打亂,但值永遠黏在其對應的鍵之後
l   reverse反轉雜湊後,所有鍵值也將被反轉,變成以值找鍵的雜湊
l   雜湊串列當中,可用大箭號「=>」取代逗號「,」,一般將大箭號左邊視為鍵;右邊視為值。但其與逗號並無差異,僅供方便程式員編修
l   大箭號左邊的bareword會自動加上引號「””」,你不加Perl也會自動加上
l   同理,$hash{bareword} 也可行
l   keys函式會傳回雜湊中的所有鍵;values函式則傳回所有值。若無值則傳回空串列,就算正個雜湊順序不定,但值一定會對應到鍵的順序
l   上兩函式若在純量語境下則傳回元素個數
l   exists函式用來判斷鍵是否存在雜湊中,若值為「undef」也表示存在,傳回truedelete函式用來將鍵值從雜湊中移除,因此再用exists函式判斷則為false
l   雙引號內的特殊字符包含「$@\」,因此無法在雙引號內安插雜湊,因為不支援「%
l   %ENV存放系統環境的資訊

沒有留言:

張貼留言