這個函式把位址轉換成名字(和改變位址)。addr 應該是乙個封包的二進位制網路位址,而 addrtype 實際上通常應該是 af_inet(來自 socket 模組)。其返回值在列表環境裡是:
($name, $aliases, $addrtype, $length, @addrs) =gethostbyaddr($packed_binary_address, $addrtype);
($a, $b, $c, $d) = unpack('c4', $addrs[0]);另外,你可以給 sprintf 用 v 修飾詞把它直接轉換成點向量表示法:
$dots = sprintf "%vd", $addrs[0];socket 模組的 inet_ntoa 函式可以用於生成可列印的版本。這個方法在我們都準備切換到 ipv6 的時候會變得很重要。
use socket;在標量環境裡,gethostbyaddr 只返回主機名字。$printable_address = inet_ntoa($addrs[0]);
要從乙個點向量中生成乙個 addr,用:
use socket;$ipaddr = inet_aton("127.0.0.1"); # localhost
$claimed_hostname = gethostbyaddr($ipaddr, af_inet);
$ipaddr = v127.0.0.1;
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。把乙個標量變數初始化為乙個特定的值將定義它,...