這個以一次乙個鍵字/數值對的方式遍歷乙個雜湊。如果在列表環境裡呼叫它,each 返回乙個兩個元素的列表,該列表包含雜湊中下乙個元素的鍵字和數值,這樣你就可以逐一遍歷它們。如果在標量環境裡呼叫,each 只是返回雜湊中下乙個元素的鍵字。如果雜湊已經全部讀取完了,那麼返回乙個空列表,如果你給這個空列表賦值,那麼在標量環境中會生成乙個假值。下面是典型的用法,使用預定義的 %env 雜湊:
while(($key, $value) = each %env)
在雜湊內部,它以一種看上去是隨機的順序維護它自己的記錄。each 可以遍歷這個序列是因為每個雜湊都記得上一次返回的是哪條記錄。這個序列的實際的順序可能在將來的 perl 版本裡會改變,但有一點可以保證,就是 keys(或者 values)函式在同乙個(未修改)的雜湊上生成的順序是一樣的。
每個雜湊都有乙個遍歷器,由在該程式裡所有的 each,keys,和 values 函式呼叫共享;該遍歷器可以通過從雜湊裡讀取所有元素來重置,或者通過計算 keys %hash 或 values %hash 來重置。如果你在遍歷雜湊的過程中刪除了元素,那麼後果還沒有很好的定義:記錄可能會被忽略也可能被重複。
又見 keys,values,和 sort。
perl函式說明 chroot
chroot chroot filename chroot如果成功,filename 成為當前程序的新的根目錄 用 開頭的路徑名的起點。這個目錄是跨 exec 呼叫繼承的,以及被所有 chroot 呼叫後 fork 出來的子程序繼承。我們沒有辦法撤消一次 chroot。出於安全原因,只有超級使用者可...
perl函式說明 close
close close filehandle close這個函式關閉與 filehandle 關聯的檔案,套接字,或者管道。如果省略引數,那麼它關閉當前選定的檔案控制代碼。如果關閉成功它返回真,否則返回假。如果你準備馬上就對 filehandle 做另外一次 open,那麼你用不著關閉它,因為下一次...
perl函式說明 defined
defined defined expr defined這個函式返回乙個布林值,表明 expr 是否是乙個已經定義的數值。你處理的大多數資料都是已經定義的,但是乙個標量如果不包含有效的字串,數字,或者引用值,那麼就說它是未定義的數值,或者簡稱 undef。把乙個標量變數初始化為乙個特定的值將定義它,...