perl函數說明(gethostbyname )

  • gethostbyname NAME

這個函數把一個網絡主機名翻譯成它的對應地址(以及其他名字)。其返回值在列表環境裏是:

   ($name, $aliases, $addrtype, $length, @addrs) =
      gethostbyname ($remote_hostname);

這裏的 @addrs 是一個裸地址的列表。在互聯網域,每個地址(因歷史原因)是四個字節長,可以用下面方法解包的東西:

   ($a, $b, $c, $d) = unpack('C4', $addrs[0]);

你可以用帶 v 修飾詞的 sprintf 把它們直接轉換成向量符號:

   $dots = sprintf "%vd", $addrs[0];

在標量環境裏,gethostbyname 只返回主機地址:

   use Socket;
   $ipaddr = gethostbyname($remote_host);
   printf "%s has address %s\n",
      $remote_host, inet_ntoa($ipaddr);

參閱第十六章裏的“套接字”一節獲取另外一種方法。Net::hostent


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章