perl函式說明 gethostbyaddr

2021-06-22 16:09:21 字數 838 閱讀 7038

這個函式把位址轉換成名字(和改變位址)。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;

$printable_address = inet_ntoa($addrs[0]);

在標量環境裡,gethostbyaddr 只返回主機名字。

要從乙個點向量中生成乙個 addr,用:

use socket;

$ipaddr = inet_aton("127.0.0.1"); # localhost

$claimed_hostname = gethostbyaddr($ipaddr, af_inet);

$ipaddr = v127.0.0.1;
參閱第十六章「套接字」一節獲取更多的例子。net::hostent 模組支援乙個此函式的通過名字使用的介面。參閱 gethostbyaddr(3)。

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。把乙個標量變數初始化為乙個特定的值將定義它,...