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」也表示存在,傳回true;delete函式用來將鍵值從雜湊中移除,因此再用exists函式判斷則為false
l 雙引號內的特殊字符包含「$、@、”、\」,因此無法在雙引號內安插雜湊,因為不支援「%」
l %ENV存放系統環境的資訊
沒有留言:
張貼留言